软件测试阶段
单元测试
集成测试
系统测试
验收测试
单元测试
什么是单元测试呢?
我理解的单元测试是最小力度的测试,可以是C里的函数;java 里的方法
单元测试的好处
1.能够尽早的发现问题
2.有利于重构
3.简化集成
4.当做文档
5.验证系统设计
单元测试的缺点
1.不可能覆盖所有的执行路径,所以不可能保证捕捉到所有的路径的错误;
2.每一行代码,一般需要3~5行测试代码才能完成单测,所以存在投入和产出平衡;
常用的单测框架
Xuite
nunit
cppUnit
Junit
...
集成测试
在单元测试的基础上,测试组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的测试
如何进行集成
1.Big Bang
2.自顶向下 (递增,从主流程开始)
3.自底向下程序模块最底层向上组装
4.核心系统集成(主功能流程测试 )敏捷
5.高频集成(持续集成)敏捷
单元测试VS集成测试
1.测试对象不同(单元:测试方法函数;集成:模块之前的关系和连接)
2.测试依据不同(单元:软件的详细设计,细节;集成:概要、功能)
3.测试方法不同(单元:关注细节;集成:关注结果)
系统测试
将集成测试后的软件,安装在真实运行的系统上,在真实运行环境下对计算机系统进行严格有效的测试,以发现软件潜在的问题,保证正常运行;
主要分为以下测试
功能测试
性能测试
自动化
专项
...
系统测试关注点
关注本身的使用
关注与其它相关的连通
关注不同使用压力下的表现
关注系统在真环境下的使用
系统测试VS集成测试
1.测试对象
集成测试:单测的模块集成起来的构件或组件
系统测试:计算机硬件,设备,数据,压力等
2.测试时间
集成测试:早
系统测试:晚
3.测试内容
集成测试:各个单元模块之前的接口
系统测试:整体功能的完整性
4.测试角度
集成测试:技术角度验证
系统测试:业务角度验证
验收测试
也可以说交付测试,针对用户需求,业务流程的正式的测试,确定系统满足验收标准,由用户,客户或其他人员是否接受系统;
细分:
用户验收测试
运行验收测试(运维)
规范验收测试
alpha测试 开发者场所进行测试
Beta测试 线上环境下进行测试
Realse 正式的可供用户使用的
敏捷测试TDD:用户驱动开发
敏捷测试BDD:行为驱动开发