1、集成测试
1)自底向上
先测试底层部件/单元和模块,然后向上实现集成测试。最底层使用桩/驱动程序进行测试;桩/驱动程序是为特定目的而设计的,使用他们之前需要先对他们进行测试,通常是编写的代码。桩模拟被调用函数的片段,驱动程序是模拟调用函数的代码片段。优点:可以测试到每个组件的正确性,增量式集成中很有效。缺点:顶层重要但最后测试,测试速度慢;桩和驱动程序需要维护;
- 自顶向下
优点:先测试顶部,通常是用户接口,程序的可行性在早期就可以确定;利用输入发现系统缺陷;缺点:单元很少集成前测试,可能导致错误无法发现;桩模块提前编程完成,可能需要大量更新替换;
- 改进自顶向下
将自顶和自底结合;优点:重要单元单独测试+集成测试;关键组件自底向上;节约测试师姐;缺点:关键单元不好确定;测试至少两次出现循环测试;
- 大棒测试
开发结束后进行一次彻底的测试,有时还包含大量不可重复的随机测试;优点:最后测试,节省开销;可以作为认证测试;不需要设计桩和驱动程序;迅捷;缺点:发现的问题难以调试;难以完全确定接口的可用性;缺陷定位难;无法区分接口故障和其他缺陷;少数用例确定系统争取与否的结论;
- 三明治
自底向上测试从中间层开始向上到顶层;紫丁香是的测试从中间层向下;中间层采用大棒测试;优点:适合包含许多子系统的大系统;自顶和自底同时;需要更多人员协作;缺点:开销大;不能测试强相关的;模块为特定领域,需要掌握不同测试技能的协作;
- 关键路径优先、子系统测试
- 系统测试
- 功能呢测试:判断需求定义的功能是否正常进行;
- 用户界面测试:例如颜色、导航、拼写、字体等;
- 测试阶段
单元测试--模块测试--子系统测试--系统测试--验收测试
- 验收测试
产品正式提交给用户前进行实施;由客户和客户代表进行执行;
- 验收标准
- 测试小时法:被验收的系统至少要测试某个时间,例如100天;适合简单系统;
- 测试案例数目:执行预定义的案例,由专家产生的虚设数据,涉及很多回归测试;
- 缺陷密度法:开发和测试产品过程的函数;开发任意提供缺陷密度的历史数据;
- 缺陷密度的P-S矩阵:
- 容许缺陷标准:在应用级别课接收的总缺陷数,或者PS矩阵中每个象限容许的缺陷数目;
- 缺陷发现了:循环持续的回归测试;
- 基于覆盖的验收标准:定义需求覆盖、功能覆盖和特征覆盖的概率,大约为95%、25%等
- 生命周期验收:不同生命周期进行定义验收标准;
- alpha测试
客户在开发场所和环境下所做的测试;测试按照场景进行;优点:用户角度出发;交付前的快捷测试;表面问题可高效发现并修复;需求遗失或变动可以说明;缺点:数据不一定有代表性;不能代表真实环境;
- beta测试
用户场所和用户环境由关键用户实施的测试;真实环境采用业务模拟进行测试;优点:确定环境和配置是否有差别;针对实时数据测试;可发现应用的可用性特征;确定售后服务需求;缺点:人员转移会造成知识转移;可能无法使用环境和需求变化;错过隐含需求;
- gamma测试
提供给某些目标用户使用,有限的市场测试;优点:有助于确定需求差别;发现没有捕获的用户培训需求;实时数据测试;获得使用者支持;缺点:开销可能白费;捕获不到用户环境改变;未能发现隐含需求;
- 特殊测试
- 复杂性测试
- 图形用户界面测试
- 常见的21中错误
1)输入非法数据
输入类型;输入长度;边界值;
2)输入默认值
查找选项按钮、配置面板等;查阅数据的生命;接收默认值进行测试;键入空值;将默认值改为另一个值;
3)输入特殊字符集
字符集包含普通字符和特殊字符;程序有特定出来字符和字符串的方法;程序有时使用设置名称、系统对象和程序的保留字符集合;输入非法字符进行测试;
4)输入使缓冲区溢出的数据
开发没有考虑传送给内存缓冲区的字符串的大小;输入最大字符串测试;输入比最大字符串大的数据进行测试;
5)输入产生错误的合法数据组合
测试多个输入值的组合;数据之间存在依赖性;
https://mp.weixin.qq.com/s/HiXyKpcvR-IZtB-Luw8caw