软件测试阶段
软件测试过程
• 单元测试
• 单元测试又称为模块测试,是最小单位测试
单元测试具有独立性,可以与系统其他部分分隔离出来,从而完成测试,其依据是详 细设计
其测试对象是软件设计的最小单位模块与组件,类、文件、窗口、函数、菜单、报表 或一个存储过程都可以作为一个单元进行测试
• 测试原则
尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例 中重写模拟方法)
此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求
单元测试的好处
1、尽早的发现缺陷
2、利于重构
3、简化集成
单元测试的不足
不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误
每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡
单元测试可以发现的缺陷类型:
计算错误
需求或功能遗漏
程序路径选择错误
执行方法
代码扫描工具:SonarQube + PMD
• 集成测试
• 集成测试:是将已分别通过测试的单元按设计要求组合成系统或子系统,再 进行的测试。目的在于检查这些单元之间的接口是否存在问题。
• 测试原则
尽早集成测试关键模块
尽早测试包含I/O的模块
集成测试的好处
可以检查一系列的环境配置正确与否
可以迅速定位BUG
可以为功能测试和性能测试提供支持
集成测试的不足
难以完成业务场景测试
无法测试前端页面
• 系统测试
系统测试分为:
功能测试
非功能测试
性能测试、容量测试
安全性测试
兼容性测试
可靠性测试
集成测试和系统测试之间的比较
测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个 系统的功能和性能;
测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的 角度进行测试。
• 验收测试
是充分运行软件系统,以验证系统是否满足产品的质量需求
验收测试:也称交付测试,是针对用户需求、业务流程进行的正式 的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机 构决定是否接受系统。
在软件产品完成了系统测试之后、产品发布之前所进行的测试
验收测试一般会根据产品产品需求(用户故事),严格的逐项的检查产 品,确保所开发的软件产品符合用户预期的各项要求
软件测试的阶段