软件测试类型
基于测试策略
-
白盒测试:从软件的源代码内部派生测试,具体包括分支、单个条件和语句,需要内部资源。 -
黑盒测试:从软件的外部描述中派生测试,包括规范、需求和设计,不需要应用程序内部资源。 -
灰盒测试=黑盒+白盒,在对应用程序的内部源代码、设计、算法或实现细节了解有限的情况下进行测试。
基于测试级别
基于程序是否运行
- 静态测试
- 不执行程序的测试,包括软件检查和一些形式的分析。
- 分析、代码检查、审查、代码走查
Walkthroughs 。 - 预防缺陷,成本低。
- 动态测试
- 通过实际输入执行程序进行测试。
- 动态测试包括所有类型的功能和功能测试。
- 探测缺陷,成本高。
基于需求类型
- 功能测试
- 使用客户提供的功能规范进行功能/功能测试,并根据功能要求验证系统。
- 非功能测试
- 非功能测试检查软件系统的性能、可靠性、可扩展性和其他非功能方面。
- 非功能测试应在功能测试后进行
- 性能测试:量特定用例的处理速度和响应时间,通常取决于负载的增加。
- 负载测试:测量增加系统负载的系统行为(例如,同时工作的用户数、事务数);
- 压力测试:观察系统过载时的系统行为;在非正常条件下运行应用程序来观察应用程序的健壮性。仅适用于“关键任务”软件,如零停机时间的服务器级应用程序
- 容量测试:
Volume test flood testing 根据数据量观察系统行为(例如,处理非常大的文件)通常,数据库和自动化脚本有助于生成所需的卷并记录系统性能。 - 安全测试:针对未经授权访问系统或数据、拒绝服务攻击等的安全性测试
- 兼容性测试:软件系统确实有许多依赖项,例如平台、运行时、编译器、第三方库、浏览器、web服务器等。兼容性测试有助于确定应用程序是否可以使用指定的依赖项或环境,并提前确定任何问题。
- 安装测试
- 大多数软件应用程序都使用安装程序包,这些安装程序包可以复制文件、准备系统注册表、配置防火墙,并分配权限,使产品为最终用户做好准备。安装测试将探索这些区域,并检查安装程序是否按预期工作,测试升级、安装、卸载操作。
- 恢复测试:验证应用程序是否能够从意外事件(如崩溃、机器或网络故障、断电)中恢复。恢复测试模拟这些意外故障,观察应用程序如何响应并报告问题(如果有)。
- 可靠性测试:验证被测软件在真实环境中能够在预期的持续时间内无任何错误地运行。可靠性测试证明该应用程序是无错误的,并且可以在最终用户系统上按预期运行。
- 可用性测试:检查系统的易学性、操作的易用性和效率、系统输出的可理解性等,始终考虑特定用户群体的需求。
- 本地化测试:本地化是软件以本地化语言显示其文本或将其限制在特定区域的一种方法。本地化测试提供了一种针对特定地区、文化或语言环境测试软件本地化质量的方法。测试人员只在产品的本地化版本上执行。
- 符合性测试:
Compliance testing 有些软件产品必须遵守特定的规则或政策,通常称为compliance。合规性测试确保软件应满足预期的监管要求。如果符合性检查失败,那么开发人员必须进行修复。有时候,这不仅仅是一个小小的改变,而是变成了一个全新的需求。
基于变化
- 确认测试
Confirmation testing :(重新测试)以确保错误确实已被成功删除。简单地说,最初检测到错误的测试用例将再次执行,这一次应该可以顺利通过。 - 回归测试
Regression testing :验证错误修复,确保更改后没有出现或发现新的缺陷。
基于工具
- 手动测试:手动测试软件以发现缺陷的过程。测试人员在不使用任何自动化工具的情况下手动执行测试用例并生成报告。
- 自动化测试:使用自动化工具测试软件以发现缺陷的过程。自动化工具会自动执行测试脚本并生成结果。
其他
例子
-
灰盒测试 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5jDEoyqw-1649770808446)(img/软件测试与交付_img/image-20220412195154933.png)] -
纸质花纹杯子装水
- 安全性:水变色、温水、热水、牛奶、果汁漏水
- GUI测试:图案美观、正版不侵权、装水后图案是否会变化
- 复杂测试:容量
- 性能测试:持续多久不漏水
-
手机APP常见测试包括哪些? [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQGjBwd0-1649770808448)(img/软件测试与交付_img/image-20220412213904737.png)]
|