1.软件测试阶段:
单元测试:
对软件中的最小测试单元进行检查和验证
原则:1.测试单元是独立的2.由开发人员来进行
益处:1.尽早发现缺陷2.有利于重构3.简化集成4.文档5.用于设计
限制:1.不可能发现所有的代码错误2.测试投入产出比不高
集成测试:
在单元测试的基础上,测试在将所有的软件单元按照系统规格说明组装成模块、子系统或系统的过程中各部分工作是否符合设计
分为:1.Big Bang(一次性集成)2 .自顶向下3.自底向上4.核心系统集成5.高频集成
系统测试:
在集成测试的基础上,作为计算机系统的一部分,与系统中的其他部分结合起来,在实际运行环境下对计算机系统进行一系列严格有效的测试,以发现软件的潜在问题,保证系统的运行
关注点:1.关注系统本身的使用2.关注系统与其他系统间的连接3.关注系统在不同压力下的表现4.关注系统在真实环境下的表现
验收测试:
也称交付测试,针对用户需求、业务流程的正式测试,确认系统是否符合验收标准,由用户、客户或者其他授权机构是否接受系统。
分为:1.用户验收测试2.运行验收测试3.合同和规范验收测试4.alpha测试(开发者环境)5.Beta测试(用户环境)
2.软件测试手段:
黑盒测试:
优点:1.容易实施,不关注内部实现2.更贴合用户使用角度
缺点:1.测试覆盖率较低2.针对黑盒的自动化测试,复用率较低,维护成本较高
等价类、边界值、错误推测法、因果图法、正交试验分析法、状态迁移图法、流程分析法
白盒测试:
分为结构化测试和透明盒测试
优点:1.可以理解实现原理2.覆盖路径和分支3.可以发现代码逻辑错误4.对代码测试比较彻底
缺点:1.成本高2.无法检测遗漏的代码和数据敏感性的错误3.不能直接验证需求的正确性
代码检测法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法
其中逻辑覆盖法分为:语句覆盖、条件覆盖、条件组合覆盖、分支覆盖、路径覆盖、条件和判定组合覆盖
灰盒测试:
静态测试:
动态测试:
手工测试:
自动化测试:


3.软件测试模式
瀑布模型:
V模型:

W模型:

X模型:

H模型:
