在刚开始学习软件测试的时候,总是看到很多种测试类型,除了下图软件测试分类外,还有一些常见的测试类型名称。
1.接口测试
接口测试用于检测外部系统与所测系统之间以及内部各个子系统之间的交互点,定义特定的交互点,通过一些特殊的规则也就是协议,来进行数据之间的交互。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。
2.性能测试
模拟不同的场景,对软件各项性能指标进行测试和评估的过程。像负载测试、压力测试、稳定性测试、可靠性测试、可扩展性测试都属于性能测试。
性能测试的目的:评估当前系统的能力、寻找性能瓶颈以优化性能、评估软件是否能够满足未来的需要。
性能指标:吞吐量(在给定时间段内响应客户端请求而传输到服务器的数据量)、TPS(每秒事务数)、并发用户数(同一时刻点击某个请求的用户)、响应时间等。
3.UI测试
UI测试(User interface testing)验证用户界面的正确性和可用性,主要关注用户界面的布局、交互和体验,也包括页面展示逻辑及界面前端与服务器集成验证。
4.灰度测试
如果软件要在不久的将来推出一个全新的功能或重大的改版,要先进行一个小范围的尝试工作,选择特定人群试用,逐步扩大其试用者数量直到覆盖到所有的系统用户,也就是说在新功能上线的黑白之间有一个灰。灰度测试开始到结束期间的这一段时间,称为灰度期。
5.Alpha和Beta测试
用来标识测试的阶段与范围。此外还有Gamma测试。
Alpha 是开发团队内部测试的版本或者有限用户的体验测试版本。Beta 是针对所有用户公开的测试版本。而做过一些修改,成为正式发布的候选版本时叫做 Gamma。
6.A/B测试
让一部分用户用产品A,一部分用户用产品B,通过比较两组使用者的转化率、点击率、下载率(或者其他评价指标)来评价两者中谁是最优者。A/B 测试提供了系统的步骤帮助决策者清楚的知道哪一种产品更能达到预期目标。
7.端到端测试
(End-to-End Testing,E2E测试)涉及测试整个系统的流程,从用户输入到系统输出的整个过程,以确保系统的正确性、效率和可靠性。通过模拟真实用户场景并验证被测系统及其组件的集成和功能完整性,主要从最终用户的体验进行测试。