测试级别
单元测试
:对单个的软件单元或者一组相关的软件单元所进行的测试,代码级的测试,软件单元(函数、类、源文件、接口等)
集成测试
:模块与模块(组件)之间的接口测试,测试系统内部不同部分的互相作用
集成测试的策略
① 自顶向下集成:从主控模块,沿着软件的控制层向下移动,逐渐把各个模块结合起来
② 自底向上集成:从"原子"模块(即在软件结构最底层的模块)开始集成以进行测试
③大棒与三明治集成方法
大棒集成方法
:采用大棒集成方法,先对每一个模块进行测试,然后将所有模块全部集成起来一次性进行集成测试
三明治集成方法
:三明治集成方法自两头向中间集成
持续集成
:通常系统集成都会采用持续集成的策略,软件开发中各个模块不是同时完成,根据进度将完成的模块尽可能早的集成,有助于尽快发现缺陷,避免大量缺陷集中涌现
系统测试
:对系统进行全面的测试,最接近用户需求,需求级的测试
验收测试
①
由客户或者是利益相关者进行的测试、验收
②
验收测试分为α测试和β测试
:α测试:在开发场地进行的验收测试;β测试:在客户场地进行的验收测试③
α测试和β测试优缺点
:α测试是非正规的;β测试是正规的④
验收测试项
由系统管理员对系统的验收测试,包括:
测试备份和恢复备份(backup/restore)
灾难恢复测试
用户管理测试
维护任务测试
安全漏洞阶段性检查
⑤
验收测试的准入条件
⑴ 系统测试通过
⑵ 所有的测试用例被执行
⑶ 所有的缺陷被关闭,条件准入:所有严重级别AB级的关闭
⑷ 具备验收合同(或项目测试计划)
⑸ 具备软件的各类文档(用户手册,安装手册)
⑹ 所有的被测软件是受控制的
⑺ 软件代码是可编译和构建
⑥
验收测试的准出条件
⑴ 已按要求完成了合同(或项目计划)所规定的软件测试任务
⑵ 客观、详细地记录了软件测试过程和软件测⑶ 试中发现的所有问题
⑷ 测试文档齐全、符合规范
⑸ 测试的全过程自始至终在控制下进行
⑹ 测试中的问题或异常有合理解释或正确有效的处理
⑺ 测试报告通过了评审
⑻ 全部测试数据、被测软件、测试支持软件和 ⑼ 评审结果已纳入配置管理
其他测试
维护测试
:系统变更或是新功能的增加进行的回归测试
负载测试
:一种通过增加负载来测量组件或系统的测试方法。例如:通过增加并发用户数和(或)事务数量来测量组件或系统能够承受的负载
性能测试
:判断软件产品性能的测试过程
压力测试
:在规定的或超过规定的需求条件下测试组件/系统,以对其进行评估
确认测试和回归测试
确认测试:
重新执行上次失败的测试用例,以验证纠错的正确性
回归测试:
测试先前测试过并修改过的程序,确保更改没有对其他未改变的部分带来新的缺陷
测试类型
软件测试的类型
功能测试(黑盒测试)
非功能测试(性能测试)
结构测试(白盒测试)
功能测试
:功能测试又称为黑盒测试或数据驱动测试,是从用户观点出发,主要以软件规格说明书为依据,对程序功能和程序接口进行的测试
非功能测试
:非功能测试包括但不限于:性能测试、负载测试、压力测试、可用性测试、可维护性测试、可靠性测试和可移植性测试;非功能测试可以在任何测试级别上执行
结构测试/架构测试(也被称为结构测试、逻辑驱动测试、白盒测试)
:检查程序中的每条通路是否都按照预定要求正确工作;需要完全了解程序结构和处理过程
白盒测试跟黑盒测试的对比
规划方面:
黑盒测试:功能的测试
白盒测试:结构的测试
优点方面:
黑盒测试:能够确保从用户的角度进行测试
白盒测试:能对程序内部的一些特定部分进行覆盖测试
缺点方面:
黑盒测试:无法测试程序内部特定部分;当规格说明书有误,则不能发现问题
白盒测试:无法检查程序的外部特征;无法对未实现规格说明的程序内部欠缺部分进行测试
与变更相关的测试主要有:确认测试(再测试)和回归测试
静态测试方法包括
审查
由组长来组织评审,开发人员进行讲解程序的逻辑,其它成员提出问题,进行的评审
走查
由组长来组织评审,组其他成员对测试实例用头脑执行,由测试人员来讲解程序执行的过程
动态测试一般采用白盒测试和黑盒测试方法
黑盒测试方法:功能分解、等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交实验法
功能分解
:将需求规格说明中每一个功能加以分解,确保各个功能被全面地测试
等价类划分
: 把程序的输入域分成若干部分,然后在每部分中选取代表性数据形成测试用例
边界值分析
:使用等于、小于或大于边界值的数据对程序进行测试
因果图
:通过画因果图,把用自然语言描述的功能说明转换为判定表,然后为判定表的每一列设计一个测试用例
判定表:由四部分组成:条件桩、条件条目、动作桩、动作条目。任何一个条件组合的取值及其相应要执行的操作构成规则,条目中的每一列是一条规则
随机测试:随机测试指测试输入数据是在所有可能输入值中随机选取的
猜错法:是有经验的测试人员,通过列出可能由差错和易错情况表,写出测试用例的方法
正交实验法:正交实验法是从大量的实验点中挑出适量的、有代表性的点,应用正交表,合理地安排实验的一种科学的实验设计方法
白盒测试方法:控制流测试(语句覆盖测试、分支覆盖测试、条件覆盖测试、条件组合覆盖测试、路径覆盖测试)、数据流测试、程序变异、程序插桩、域测试和符号求值等