软件测试方法汇总

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_37964071/article/details/82191581

软件测试方法种类繁多,如果把软件测试方法进行分类, 就会清晰很多。

从测试设计方法分类

测试名称 测试内容
Black box黑盒测试 把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试
White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择
Gray box 灰盒测试 介于黑盒和白盒之间

实际工作中,对系统的了解越多越好。目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。白盒测试对软件测试人员的要求非常高,需要有很多编程经验。

从测试是手动还是自动上分类

测试名称 测试内容
Manual Test 手动测试 测试人员用鼠标去手动测试 (测试GUI)
Automation 自动化测试 用程序测试程序 (测试API)

我们需要注意几点:

  1. 对于项目来说,手动测试和自动化测试同等重要,都是保障软件质量的方法。
  2. 目前大部分的项目组都是手动测试和自动化测试相结合。因为很多测试无法做成自动化,很多复杂的业务逻辑也很难自动化,所以自动化测试无法取代手动测试。

总的来说,手工测试胜在测试业务逻辑,而自动化测试胜在测试底层架构。

从测试的目的分类

功能测试

测试的范围从小到大,从内到外, 从程序开发人员(单元测试)到测试人员,到一般用户Alpha/Beta测试

测试名称 测试内容
Unit Test 单元测试 在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性(开发人员做的)
Functional Test 功能测试 验证模块的功能 (测试人员做的)
Integration Test 集成测试 验证几个互相有依赖关系的模块的功能 (测试人员做的)
Scenario Test 场景测试 验证几个模块是否能完成一个用户场景 (测试人员做的)
System Test 系统测试 对于整个系统功能的测试 (测试人员做的)
Alpha 测试 软件测试人员在真实用户环境中对软件进行全面的测试 (测试人员做的)
Beta 测试 真实的用户在真实的用户环境中进行的测试, 也叫公测 (最终用户做的)
非功能测试

一个软件除了基本功能之外,还有很多功能之外的特性,这些叫“Quality of Service requirement”服务质量需求。

没有软件的功能,这些特性都无从表现出来,因此,我们要在软件开发的适当阶段-基本功能完成后做这些测试。

测试名称 测试内容
Stress test 压力测试 验证软件在超过负载设计的情况下仍能返回正确的结果,没有崩溃
Load test 负载测试 测试软件在负载情况下能否正常工作
Performance test 性能测试 测试软件的效能,是否提供满意的服务质量
Accessibility test 软件辅助功能测试 测试软件是否向残疾用户提供足够的辅助功能
Localization/Globalization 本地化/全球化测试
Compatibility Test 兼容性测试
Configuration Test 配置测试 测试软件在各种配置下能否正常工作
Usability Test 可用性测试 测试软件是否好用
Security Test 软件安全性测试

性能测试

性能测试要求测试人员熟练性能测试工具,比如QTP,LoadRunner, Jmeter。

安全性测试

安全性测试的内容很广,非常有难度啊。 比如XSS(跨站脚本攻击)和SQL注入攻击。

按测试的时机和作用分类

在开发软件的过程中,不少测试起着“烽火台”的作用,它们告诉我们软件开发的流程是否畅通。

测试名称 测试内容
Smoke Test “冒烟”–如果测试不通过,则不能进行下一步工作
Build Verification Test(BVT) 验证构建是否通过基本测试
Acceptance Test 验收测试,为了全面考核某功能/特性而做的测试

BVT测试是一种Smoke Test, 指Build生成好之后,自动运行的自动化测试脚本来检查这个Build的基本功能。 如果BVT测试失败了,需要开发人员马上修改,重新生成Build

按测试测策略分类

测试名称 测试内容
Regression Test 回归测试 对一个新的版本,重新运行以往的测试用例,看看新版本和已知的版本相比是否有退化 (regression)
Ad hoc Test 探索性测试 随机进行的,探索性的测试
Sanity Test 粗略的测试, 只需要执行部分的测试用例

Regression Test 回归测试,对软件测试人员来说就是重复测试,所以回归测试最好是自动化的,否则测试人员就要一遍又一遍地重复测试。

  1. 开发人员做些小改动,就需要测试人员做回归测试。确保现有的功能没有被破坏
  2. Bug Fix 也需要回归测试,确保新的代码修复了Fix, 也确保现有的功能没有被破坏
  3. 项目后期,需要做一个完整回归测试, 确保所有的功能都是好的

猜你喜欢

转载自blog.csdn.net/baidu_37964071/article/details/82191581
今日推荐