V模型
优点:将复杂的测试工作按阶段划分为各个小阶段来实现
从多角度测试系统找出更多的缺陷
缺点:软件测试容易误导为软件开发的最后一个阶段
需求、设计阶段产生的问题不能很早发现
质量控制和测试效率无高效发挥
W模型
优点:测试和开发同步进行,有利于尽早发现问题
增加费程序角度测试系统的思想
测试准备及设计工作提前,提高测试质量及效率
缺点:把软件发现视为需求、设计、编码等一系列串行的活动
开发和测试保存一种线性的前后关系
无法支持迭代、自发性以及变更调整
H模型:
优点:将测试从开发中独立出来,利于研究更深对的测试技术
同时测试多个项目时,可对测试技术重复利用
高效调整测试人员
缺陷修复不受项目组内部人员限制
缺点:独立的测试度系统认识不够深入
影响测试质量及测试效率
X模型
优点:强调单元测试及集成测试的重要性
引入探索性测试使测试模型与现实更接近
缺陷修复时不受项目组内部人员限制
缺点:只强调测试过程中的部分内容
没有对需求测试、验收测试等内容进行说明
前置测试模式用较低的成本来及早发现错误。并且充分强调了测试对确保系统的高质量的重要意义。在整个开发过程中,反复使用了各种测试技术以及开发人员、经理和用户节省时间,简化其工作。
按照开发阶段划分
单元测试:又称模块测试,是针对软件设计的最小单元(即程序模块)进行正确性检验的工作;
集成测试:又称组装测试,联合测试、子系统测试或部件测试。集成测试是在单元测试的基础上,将所有模块按照设计要求组装程子系统或系统进行的测试活动;
系统测试:是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求;
验收测试:是在软件产品完成了功能测试和系统测试之后。产品发布之前所进行的软件测试活动,他是技术测试的最后一个阶段,也称为交付测试、发布测试或确认测试。
按照测试实施组织划分
开发测试通常也叫‘验证测试’或a测试;
用户测试是在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期;
第三方测试也称为独立测试,是介于软件开发方和用户方之间的测试组织的测试;
按照测试技术划分
黑盒测试也称为功能测试,他是通过测试来检测每个功能是否都能正常使用。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判断表法、正交实验设计法、功能图法、场景分析法;
白盒测试又称为结构测试,白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明书的规定正常进行。
白盒测试和黑盒测试的管理:
1. 用白盒测试验证单元的基本功能,用黑盒测试的思考方法设计测试用例;
2. 黑盒测试中使用白盒测试的手段,通常为‘灰盒测试’;
3. 白盒测试需要对程序的内部实现十分熟悉,黑盒测试是完全基于对系统需求的了解;
4. 仅仅使用白盒测试或者黑盒测试都不能系统的全面测试一个软件;
灰盒测试是介于白盒与黑盒测试之间的测试。
灰盒测试的缺点:
1. 投入的时间比黑盒测试大概多20%~40%的时间;
2. 对测试人员的要求比黑盒测试较高;
3. 不如白盒测试深入;
4. 不适于简单的系统;
按照测试执行方式划分
静态测试是指不运行程序,,通过人工对程序和文档进行分析与检查;静态测试技术又称为静态分析技术,静态测试实际上是对软件中的需求说明书、设计说明书、程序源码、用户手册等进行非运行的检查。
静态测试包括代码检查、静态结构分析、代码质量度量等。
动态测试指通过人员或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。
动态方法指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法有三部分组成:编写测试用例,执行程序,分析程序的输出结果。
按照测试对象类型划分:
1. 功能测试
2. 界面测试;
3. 流程测试;
4. 接口测试
5. 安装测试;
6. 文档测试;
7. 源代码测试;
8. 数据库测试;
9. 网络从厕所;
10. 性能测试(负载测试;压力测试【并发测试】;稳定性测试【大数据量测试】)
负载测试又叫强度测试,是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试;
压力测试:对系统逐渐增加压力的测试,来获得系统能提供的最大的服务级别的测试或者不能接收用户请求的性能点;
压力测试包括并发测试和大数据测试。
并发测试主要是指当测试多用户并发访问同一个应用、模块、数据时是否产生隐蔽的并发问题,几乎所有的星星而是都有涉及并发测试。
大数据量测试包括独立的数据量测试和综合数据量测试两类。独立的数据量测试指针对某些系统储存、传输、统计、查询等业务进行的大数据量测试。综合数据测试指和压力性能测试、负载性能测试、稳定性性能测试相结合的综合测试。
文档性测试,也叫疲劳强度测试。通常是应用系统稳定运行情况下的并发用户,或日常运作用户数,持续运行较长一段时间,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大龚志强度性能过程。
稳定性测试是概率性的测试,也就是即时稳定测试通过,也不能保证系统时间运行的时候不出现问题。
按照质量属性划分:
1. 容错性测试
2. 兼容性测试
3. 安全性测试
4. 可靠性测试
5. 可用性测试
6. 维护性测试
7. 可移植性测试
8. 易用性测试
黑盒测试的缺点:
1. 不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%
2. 自动化测试的覆盖率较低
白盒测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,是一种穷举路径的测试方法。
白盒测试原则:
1. 保证一个模块中的所有独立路径至少被测试一次;
2. 所有逻辑值均需测试真和假两种情况;
3. 检查程序的内部数据结构,保证其结构的有效性
4. 在上下边界及可操作范围内运行所有的循环;
评论区