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