软件测试四大阶段:单元测试(函数)、集成测试(模块)、系统测试(整个软件)、验收测试(整个软件)
单元测试:也称模块测试,针对软件设计的最小单位
目的:检查每一个程序单元能否正确的实现需求文档的功能,性能,接口,等
发现各模块内部可能存在的各种错误。
集成测试:也称组装测试,是检验程序单元或部件的 接口关系。
逐步集成符合需求文档要求的程序部件或整个系统。
集成测试常见测试方法(集成方法):
1、大爆炸集成:所有模块一次性集成到一块进行测试。
优点:测试方法简单,易行。
缺点:测试不充分 当模块较多时,一次集成会出现大量错误。
2、自顶向下集成:从最顶层模块开始集成,逐步集成底层模块。
优点:集成较容易,测试和开发可以并行工作,可以较早进行验证。
缺点:底层验证被推迟,容易测试不充分。
3、自底向上集成:从最底层模块开始集成,逐步集成顶层模块
好处:可以尽早验证底层模块
缺点:顶层模块被推迟验证,不能及时发现顶层模块的问题。
4、三明治集成:是一种混合测试策略,综合了自顶向下和自底向上的优点,把系统分成三层:顶层、中间层、底层。
从顶层和底层同时向中间层集成。
优势:具有自顶向下和自底向上的优点
缺点:中间层不能尽早测试。
大多数集成测试采用三明治集成。
系统测试:全面的针对整个系统进行测试,模拟所有的软件用户的操作,验证软件是否符合需求规格书。
验收测试:是产品检验的最后一个环节,依据需求规格文档对整个系统的测试与评审,决定是否接收或拒收系统。
系统测试分析方法:
三个方法一个思路(质量模型分析法、功能交互分析法、用户使用场景分析法)
一:质量模型分析法:针对每个功能/非功能特性适用质量模型分析法
六大特性:功能性、可靠性、易用性、效率、可移植性、可维护性
1.功能性:
功能性:(保密安全性、适合性、准确性、互操作性、依从性)
保密安全性 :需要分析被测试软件有没有敏感的数据,有没有需要提高安全性的数据。例如:密码是否是掩码显示,传输的过程中是否加密处理,提醒测试人员关注数据的敏感性,如何才能让软件更安全(传输、存储加密)
适合性 :需要考虑软件中包含哪些比较合适的功能,写入需求文档中,作为开发和测试的依据关键点: 有没有 (两个角度:需求文档中有,软件中没有;需求文档中没有,软件中有)提醒测试人员关注软件和需求的一致性。
准确性:关键点,对不对
提醒测试人员关注软件的功能实现的是否正确,是否跟文档中描述的功能和实际业务操作的结果是一样的。
互操作性:分析被测试软件与其它软件有没有交互,如果有,就要进行测试。提醒测试人员关注软件和其它软件之间的交互作用。
依从性:主要是法律法规,行业标准,在测试的时候可以暂时不考虑
2.可靠性:
可靠性(成熟性、容错性、可恢复性)
成熟性:内部处理问题的能力 == 》内部代码,长时间稳定性测试
容错性:针对的是抗打击,抗错误的能力(提醒测试人员关注输入错误的情况)