软件测试类型
软件测试类型
功能测试
功能测试通常使用黑盒技术和基于规格的测试用例,检查软件是否满足客户需求。可以从以下方面入手。
- 准确理解应用程序应完成什么工作。
- 准备合适的测试数据,包括有效和无效的输入。
- 根据功能规格检查使用这些数据得到的输出。
- 覆盖必需的场景,优先测试风险最高的部分。测试所有可能的场景通常并不现实。
- 记录每项输入的实际结果,并与预期输出比较。
在不同测试级别以及软件变更后进行功能检查。
- 单元测试
- 集成测试
- 系统测试
- 回归测试
- 验收测试
性能、安全性和用户界面质量是重要的非功能需求。非功能测试用于检查这些属性,主要包括以下类型。
- 性能测试
- 易用性测试
- 安全测试
- 可移植性测试
易用性测试检查软件是否易于使用。这是一种黑盒方法,关注三个问题。软件用起来方便吗?用户能操作吗?用户能学会怎么用吗?易用性包括以下方面。
- 用户第一次使用系统时适应起来是否容易。
- 用户完成任务的效率如何,包括完成速度。
- 长时间不用之后,用户重新使用系统是否容易。
- 用户是否会遇到错误,以及遇到错误后能否轻松恢复。
- 用户是否对体验满意。
图形用户界面测试
图形用户界面(GUI)测试检查界面是否正常运行并符合规定的质量标准。请检查以下元素。
- 布局
- 颜色
- 字体
- 字号
- 标签
- 文本框功能
- 文本格式
- 说明文字
- 按钮
- 列表
- 图标
- 链接
- 内容
- 快捷键
- 系统处理任务时显示的处理指示器,例如沙漏
图形用户界面决定应用的外观和使用体验。GUI 之外的测试涵盖其他交互方式,包括命令行界面、批处理,以及触发用例的事件。
可移植性测试可移植性测试检查环境变更如何影响软件行为和性能。例如,在不同的操作系统上测试应用程序,或用不同浏览器测试网页应用。客户计划使用多个平台时,这类测试很重要。
可移植性测试属于系统测试。可在不同环境中安装软件,也可在不同平台上构建并运行可执行文件。设计和开发时就要考虑可移植性需求,并在集成测试结束后使用合适的环境开展这项测试。
安全性、身份验证和授权测试安全测试查找安全漏洞,并检查软件在需要时能否保护客户的机密信息。身份验证和授权是两个重要方面。
身份验证用于核实试图访问应用的人员身份。用户名和密码是其中一个例子。如果组合不正确,就会拒绝访问,因为身份尚未得到验证。
授权控制对受限数据、功能和用例的访问。通过身份验证后,仍需相应权限才能访问受限内容。例如,登录社交媒体后可以查看自己的账户信息,其他人的账户仍然受到保护。
安全测试还涵盖机密性、完整性、可用性、不可否认性、数据安全、SQL 注入、跨站脚本(XSS)等安全问题。这是一个独立的专业领域。
数据与数据库完整性测试数据完整性测试检查存储的数据是否准确并能产生预期结果。检查能否读取空数据、数据在保存前是否经过校验、保存的数据能否更新,以及测试是否覆盖所需的数据文件类型。目标是在整个生命周期内保持数据准确、一致。
数据库完整性测试检查访问数据库、管理和处理数据的方法与流程。数据不能损坏,也不能被意外创建、更新或删除。请为每种情况编写测试用例。
容错与故障转移测试容错测试检查应用在实际条件下如何应对故障。场景包括网络连接错误、应用服务器连接问题和数据库连接失败。
故障转移测试检查系统在发生硬件故障或崩溃等严重问题后,能否切换到备用组件或服务。检查关键工作在切换过程中能否继续。之后可通过恢复测试检查原服务是否回到预期状态。
配置与部署测试配置测试检查不同系统配置下的性能。它有助于确定测试环境中的响应时间,以及达到预期性能所需的配置。它还可检查软件与新环境和硬件规格的兼容性,为跨平台迁移提供支持。
部署测试检查已部署的系统能否正常运行。查找性能缓慢或崩溃的问题,在实际条件下检查运行情况,并确认软件正确部署在目标目录。
回归测试将发现的缺陷交给相关人员修复。确认修复解决了原来的问题,再运行回归测试,查找变更区域、应用其他部分或业务逻辑中的不良影响。根据结果判断软件能否进入下一阶段的测试。
性能测试性能测试检查网络延迟、数据呈现、数据库事务处理和服务器之间的负载均衡。重点是性能问题,范围超过单个功能的缺陷。可用它评估稳定性、可扩展性、速度、响应时间和数据呈现。
负载测试与性能基准测试负载测试检查软件在最大或峰值负载下的表现。JMeter、LoadRunner 和 Silk Performer 等工具会创建虚拟用户并运行脚本,模拟并发访问。测试人员控制虚拟用户数量并观察系统表现。
压力测试压力测试有意创造异常条件并观察性能。施加超出可接受上限的负载,或减少资源,以确定软件发生故障的临界点。例如,停止并重启数据库,随机关闭或重新启用网络端口,或者运行大量消耗资源的进程。
| Testing Type | Unit Testing | Integration Testing | System Testing | Acceptance Testing |
|---|---|---|---|---|
| Functional Testing | Yes | Yes | Yes | Yes |
| Configuration Testing | No | No | Yes | Yes |
| User Interface Testing | No | No | Yes | Yes |
| Usability Testing | No | No | Yes | Yes |
| Installation Testing | No | No | Yes | Yes |
| Document Testing | Yes | Yes | Yes | Yes |
| Performance Testing | Yes | Yes | Yes | Yes |
| Security Testing | No | Yes | Yes | Yes |
| Scalability Testing | No | Yes | Yes | No |
软件测试类型总结
我们保证,学完免费在线培训,您就能通过软件测试认证考试!
-
01
在线报名
选择您希望获得的认可认证,完成报名。
-
02
接收访问码
您的专属考试访问码将立即发送到您的电子邮箱。
-
03
准备并参加考试
学习免费培训材料,在线回答 50 道选择题。
-
04
获得终身有效的认证
领取全球有效的证书和可验证的数字徽章。
您的免费优质在线培训
Software Testing Revealed 第二版已为您备好。
我们与来自各主要行业的知名企业领导者、团队负责人、软件测试教练、导师、专家及权威人士共同开发了这套培训。所有访问 International Software Test Institute™ 的人士都可以学习。您可通过 您的免费软件测试书籍 以及 您的免费优质软件测试培训 获取培训资料。这两个栏目都在顶部菜单中。
这些资料是 International Software Test Institute™ 享有版权的知识产权。我们免费向所有人分享,因为公开我们的专业经验能帮助软件测试从业者,并促进这一领域的发展。
认证考试采用选择题。请学习在线培训,掌握通过考试和获得软件测试认证所需的知识。
我们保证,学完免费优质在线培训,您就能通过软件测试认证考试!
