软件测试方法汇总

发表于:2012-4-28 11:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:肖佳    来源:51Testing软件测试网采编

  软件测试方法种类繁多,记忆起来混乱,如果把软件测试方法进行分类,就会清晰很多。我参考一些书籍和网上的资料,把常用的软件测试方法列出来,让大家对软件测试行业有个总体的看法。

  从测试设计方法分类

测试名称

测试内容

Black box黑盒测试

把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试.

White box白盒测试

设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。

Gray box.  灰盒测试

介于黑盒和白盒之间

  总结:实际工作中,对系统的了解越多越好。目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。因为白盒测试对软件测试人员的要求非常高,需要有很多编程经验。做.NET程序的白盒测试你要能看得懂.NET代码。做JAVA程序的测试,需要你能看懂JAVA的代码。如果你都能看懂了,你还会做测试么

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

测试名称

测试内容

Manual Test 手动测试

测试人员用鼠标去手动测试 (测试GUI)

Automation 自动化测试

用程序测试程序 (测试API)

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

  对于软件测试人员个人发展来说,做自动化测试是个挑战,也是测试人员发展的一个方向,需要测试人员学习大量的开发知识(开发的知识真是学无止境啊)。从长远角度来看,自动化测试肯定是越来越吃香的。

  而手动测试比较适合刚工作不久的人,手动测试最大的缺点就是技术含量低,单调乏味,容易废人。

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

  如果被测试的程序可测试性比较好,很有必要做成自动化测试。能做自动化的尽量做成自动化,下面这些情形是可以做自动化的

  1、测试存储过程。例如用C#去测试存储过程

  2、测试Webservies.例如:用SoupUI工具,或者C#,Java去测试Webservies。

  3、界面和业务逻辑分离的系统,比如,MVC,MVP架构,或者WPF程序。可以用测试脚本去测试这些程序的API。

  从测试的目的分类

  功能测试

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

测试名称

测试内容

Unit Test 单元测试

在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性(开发人员做的)

Functional Test 功能测试

验证模块的功能  (测试人员做的)

Integration Test 集成测试

验证几个互相有依赖关系的模块的功能 (测试人员做的)

Scenario Test  场景测试

验证几个模块是否能完成一个用户场景 (测试人员做的)

System Test  系统测试

对于整个系统功能的测试 (测试人员做的)

Alpha 测试

软件测试人员在真实用户环境中对软件进行全面的测试 (测试人员做的)

Beta 测试

真实的用户在真实的用户环境中进行的测试, 也叫公测   (最终用户做的)

  非功能测试

  一个软件除了基本功能之外,还有很多功能之外的特性,这些叫“Quality of Service requirement”服务质量需求。没有软件的功能,这些特性都无从表现出来,因此,我们要在软件开发的适当阶段-基本功能完成后做这些测试。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号