为了账号安全,请及时绑定邮箱和手机立即绑定

软件测试基础-概念篇

难度入门
时长 3小时 2分
学习人数
综合评分9.57
111人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.4 逻辑清晰
  • 按测试阶段来分类:单元测试、集成测试、系统测试、验收测试。

    单元测试:对软件中的最小可测试单元进行检查和验证。(人为规定的、可测试的、最小模块)

    单元测试原则:1、尽可能保证各个测试用例是互相独立的。

    2、一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。

    单元测试益处:1、能尽早发现缺陷。2、有利于重构。3、简化集成。4、文档。5、用于设计。

    单元测试的限制:1、不可覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误。2、每一行代码,一般需要3-5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。

    单元测试框架:Xunit(x代表某种意思)例Junit、ntunit(针对.net)、PHPunit、Cppunit(针对c++)

    集成测试定义:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。

    集成测试的主要实施方案:1、Big Bang (也叫一次性集成或者大爆炸)。2、自顶向下:递增式 。3、自底向上。4、核心系统集成。5、高频集成(同步开发过程,每隔一断时间,就会对现有的代码进行集成)。

    自顶向下、自底向上适合瀑布型系统、核心系统集成、高频集成适合敏捷开发类的系统。

    集成测试与单元测试的区别:1、测试的对象不同。2、测试的依据不同:单元测试依据详细设计,集成测试依据概要设计。3、测试的方法不同:单元测试关注是内部的类等,集成测试关注的是接口之间的集成,模块接口之间的集成。

    系统测试定义:是将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分集合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。

    系统测试关注点:1、关注系统本身的使用。2、关注系统与其他相关系统间的联通。3、关注系统在不同使用压力下的表现。4、关注系统在真实使用环境下的表现。

    系统测试与集成测试的区别:1、测试对象不同,集成测试是由通过了单元测试的各个模块所集成起来的构件。系统测试,除了软件之外,还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统。2、测试时间不同,集成测试介于单元测试和系统测试之间,系统测试在集成测试之后。3、测试内容不同,集成测试,各个单元模块之间的接口;系统测试,整个系统的功能和性能。4、测试角度不同,集成测试,偏于技术角度的验证;系统测试,偏于业务角度的验证。

    验收测试定义:也称交付测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。

    验收测试细分:1、用户验收测试,一般是由开发方移交用户之前进行的测试。2、运行验收测试,大多是从运维的层面来看系统是否可以被正常运行,正常维护。3、合同和规范验收测试,主要是参照约定的规范进行的验收,也包括一些政府、法律法规等。4、alpha测试,在开发者提供的场景或者环境中来运行,由用户来运行。5、Beta测试,脱离开发环境,在用户提供的环境或者场景中测试。(alpha版本、beta版本、release版本是最终可交付的版本)

    敏捷程序:验收驱动测试

    查看全部
    2 采集 收起 来源:软件测试阶段

    2020-03-26

  • 软件测试的分类

    查看全部
    0 采集 收起 来源:软件测试阶段

    2020-03-20

  • 软件测试所遵循的原则:

    1、测试显示缺陷的存在,但不能证明系统不存在缺陷

    2、穷尽测试是不可能的,应设定及时终止的条件

     3、测试应该尽早进行

    4、缺陷具备群集特性

    5、测试的杀虫剂悖论

    6、测试的二八原则

    7、测试活动依赖于测试背景

    查看全部
    0 采集 收起 来源:软件测试概要

    2020-03-20

  • 软件测试的五大要素:质量,人员,资源,流程,技术

    两个目标:提升测试覆盖率和提升测试效率

    查看全部
    1 采集 收起 来源:软件测试概要

    2020-03-20

  • 什么是软件测试?

    早期定义:软件测试是对程序能够按预期运行建立起一种信心 - Bill Hetzel,1973

    经典定义:测试是为发现错误而执行程序的过程 - Myers,1979

    IEEE定义(ISO/IEC/IEEE 29119):使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。

    查看全部
    0 采集 收起 来源:软件测试概要

    2020-03-20

  • 软件测试的分类:

    http://img1.sycdn.imooc.com//5e745eb100012b6a05440272.jpg

    黑盒测试:优点:简单易操作,贴近用户角度。缺点:覆盖率低,自动化复用率低

    黑盒测试的主要方法:等价类划分、边界值分析、错误推测、因果图、正交试验分析、状态迁移、流程分析

    白盒测试: 逻辑单位:语句、条件、条件组合、分支、路径

    优点:思考软件的实现,理解原理。检测代码中的每条分支和路径。揭示隐藏在代码中的错误。对代码的测试比较彻底

    缺点:工作量大,成本高。无法检测代码中遗漏的路径和数据敏感性错误。不能直接验证需求的正确性

    白盒测试的主要方法:代码检测法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法

    静态测试



    动态测试

    手工测试

    自动化测试


    查看全部
    2 采集 收起 来源:软件测试手段

    2020-03-20

  • 单元测试、集成测试、系统测试、验收测试

    单元测试:开发对自己的代码进行验证

    集成测试:单元测试的基础上进行测试,把多个单元串联起来测试

    系统测试:对成品进行功能、性能、压力等进行测试

    验收测试:

    查看全部
    0 采集 收起 来源:软件测试阶段

    2020-03-17

  • V模形
    查看全部
    0 采集 收起 来源:软件测试模式

    2020-03-11

  • 兼容性测试:

    软件本身的兼容性、不同平台下的兼容性、在运行设备下的兼容性、软件互操作性(指的是软件内部不同功能操作是否兼容 & 与其他软件是否兼容,比如与微信是否兼容,与微信不兼容基本上就没用了)

    对web应用,还有浏览器兼容性,因为浏览器的内核不同

    浏览器兼容性测试工具:BrowserShots(该网站输入url值,可以看不同平台下的显示)


    查看全部
  • 安全测试:

    是否符合产品安全需求和质量标准。

    渗透测试:

    通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试,与黑客不同于,黑客未授权,而且最后还会抹掉记录。

    渗透测试 VS 安全测试

                             攻————–防

                             点————–面

    可以查看OWASP网站,关注网站中的OWASP Top10和Test Guide

    安全测试工具:

    APPscan(针对web应用的漏洞扫描)、Webinspect(类似APPscan)、Nessus(针对服务器主机类)、Nmap(端口嗅探工具)、MetaSploit(攻击框架)、WebScarab(代理劫持)、Fortify(白盒测试,代码静态分析)、W3AF(针对web应用)


    查看全部
  • 性能测试:

    负载测试、压力测试、稳定性测试

    性能指标:

    并发用户数VU、每秒事务数TPS、系统响应时间、设备性能

    自动化测试工具:

    LoadRunner、Silkperformer、Jmeter、WebLoad、Apache Bench、LoadUI

    静态性能评估:

    对Web应用的页面进行静态分析,并给出评估结果的性能分析方法。工具有YSlow、PageSpeed。他们是浏览器插件,评级静态网页的标准有14个,减少HTTP请求之类的。

    应用性能管理(APM):

    提供对系统的实时监控以实现性能管理、故障管理的解决方案。比如听云。


    查看全部
  • 功能测试(最主要)、性能测试、兼容性测试、部署测试、易用性测试、文档测试、本地化测试、安全测试、无障碍测试、可靠性测试

    功能测试:

    对提供给用户的功能进行测试。

    针对的问题:

    功能错误或遗漏、界面问题、软件本身性能错误、数据及访问错误初始化及终止错误。

    功能自动化测试工具:

    QTP(基于关键字驱动)现在其实已经用的很少了、winrunner; silkTest; Rational robot; selenium; Watir; Sikuli


    查看全部
    1 采集 收起 来源:软件测试类型

    2020-03-06

  • 软件测试模式

    按测试模式来分类

    传统的瀑布模型:

    按顺序的 下落的

    每一个阶段 上一个输出 一个输入

    瀑布模型的优缺点

    大量文档

    软件测试的地位和价值 研发的后期

    V模型

    W模型 (双V模型)

    软件开发各个阶段

    需求 设计 都要测试

    尽早发现问题

    及时了解项目的风险

    需求 设计 编码 仍是串行的

    线性的 测试 开发 (迭代不能很好支持)

    X模型

    H模型

    并发执行

    软件 设计 编码 测试 进展


    查看全部
    0 采集 收起 来源:软件测试模式

    2020-03-06

  • 软件测试手段

    1、分类

         根据测试可见度:黑盒、白盒、灰盒

         状态:静态、动态

         测试方式:手工、自动化

    黑盒:

    spacer.gif 

    优点:

    (1)容易实施,无需关注内部     

    (2)更贴近用户视角

    缺点:

    (1)测试覆盖率较低,一般只有40%     

    (2)黑盒自动化测试复用率低,维护成本较高

    主要测试什么?

    (1)不正确or遗漏功能     

    (2)接口上,输入输出是否正确     

    (3)是否有数据结构错误或外部信息(比如数据文件)访问错误     

    (4)系统性能是否满足要求

     主要设计方法:

    (1)等价类划分法     

    (2)边界值分析法(比较重点关注)    

    (3)错误推断法     

    (4)因果图法     

    (5)正交试验分析法     

    (6)状态迁移图法     

    (7)流程分析法

    spacer.gif 

    白盒:结构化测试,逻辑测试,透明测试

    spacer.gif 

    主要的逻辑单位:

    spacer.gif 

    优点:

    (1)迫使测试人员理解软件原理     

    (2)覆盖率较高,可以检测每条分支和路径     

    (3)能发现隐藏在代码的错误     

    (4)对代码测试比较彻底

    缺点:

    (1)成本高     

    (2)无法检测遗漏路径     

    (3)无法检测数据敏感性错误     

    (4)无法直接验证需求正确性

     主要测试方法:

    (1)代码检测法     

    (2)静态结构分析法     

    (3)静态质量度量法     

    (4)逻辑覆盖法(6种):语句、路径、判定、条件、判定/条件、条件组合覆盖。     

    (5)基本路径测试法

    灰盒测试:介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现。

    静态测试:

    不执行被测程序,通过评审软件文档、代码、程序复杂度、检查是否符合编程标准,来发现程序不足之处。

    有些白盒是静态测试。

    方法:互审:程序员互相检查;走查:小组集体检查;会议:召开会议检查

    动态测试:

    运行被测程序,比较运行结果与预期结果,分析运行效率、正确性、健壮性等。

    黑盒大部分是动态测试。

    手工测试:众包测试、探索式测试

    优点:容易发现缺陷,容易实施、创造性、灵活性

    缺点:不一致性、可靠性低、依赖人力资源、重复测试效率低、覆盖量不容易度量

    自动化测试:

    用单独的测试工具软件,控制测试的自动化执行,并对预期和结果进行自动检查。

    单元、接口、性能多用该测试。

    优点:高效高速、准确可靠、高复用性、覆盖量容易度量

    缺点:机械、发现缺陷率低、一次性投入较大

    spacer.gif 


    查看全部
    0 采集 收起 来源:软件测试手段

    2020-03-06

  • 软件测试阶段

    一:软件测试的分类

    按测试阶段来分类

    单元测试 集成测试

    系统测试 验收测试

    二:单元测试

    什么是单元测试?

    对软件中的最小可测试单元进行检查和验证。

    最小可测试单元

    C语言可以是函数 Java面向对象语言可以看作单元为每一个类

    针对一些有界面的功能软件 ,单元可以看作具体的功能项 菜单项目

    单元测试的原则

    1、尽可能保证各个测试用例是相互独立的

    2、一般由代码的开发人员来实施,用来检验所开发的代码功能能符合自己的设计要求。

    单元测试的限制:1、不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误;2、每一行代码,一般需要3到5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。

    集成测试:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。

    集成测试的主要实施方案:1、Big Bang;2、自顶向下;3、自底向上;4、核心系统集成;5、高频集成。

    集成测试&单元测试:1、测试的对象不同;2、测试的依据不同;3、测试的方法不同。

    系统测试:是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。

    系统测试的关注点:1、关注系统本身的使用;2、关注系统与其他相关系统间的连通;3、关注系统在不同使用压力下的表现;4、关注系统在真实使用环境下的表现。

    系统测试&集成测试:

    1、测试对象:集成测试:由通过了单元测试的各个模块所集成起来的构件。系统测试:除了软件之外,还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统。

    2、测试时间:集成测试介于单元测试和系统测试之间的测试;系统测试在集成测试之后。

    3、测试内容:集成测试:各个单元模块之间的接口;系统测试:整个系统的功能和性能。

    4、测试角度:集成测试:偏于技术角度的验证;系统测试:偏于业务角度的验证。

    验收测试:也称交付测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。(细分:用户验收测试、运行验收测试、合同和规范验收测试、alpha测试、Beta测试)

    查看全部
    0 采集 收起 来源:软件测试阶段

    2020-03-06

举报

0/150
提交
取消
课程须知
本门课程适合有志于从事软件测试或在校软件专业的同学学习, 最好了解一些软件工程的基本概念,对软件测试这个职业有一些最基本的认识。(随堂资料:http://img1.sycdn.imooc.com//down/57bd4d2f0001474e00000000.rar)
老师告诉你能学到什么?
通过学习本门课程,能够理清我们接触到得各种不同的软件测试概念以及它们的主要作用和适用场景,可以更加理解软件测试这个职业的作用和对软件产品的意义。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!