软件测试方法汇总

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

  从测试设计方法分类


测试名称


测试内容


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 测试


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


测试名称


测试内容


Stress test 压力测试


验证软件在超过负载设计的情况下仍能返回正确的结果,没有崩溃


Load test负载测试


测试软件在负载情况下能否正常工作


Performance test性能测试


测试软件的效能,是否提供满意的服务质量


Accessibility test


软件辅助功能测试-测试软件是否向残疾用户提供足够的辅助功能


Localization/Globalization


本地化/全球化测试


Compatibility Test


兼容性测试


Configuration Test


配置测试-测试软件在各种配置下能否正常工作


Usability Test


可用性测试 –测试软件是否好用


Security Test


软件安全性测试

  性能测试

  性能测试要求测试人员熟练性能测试工具,比如QTP,LoadRunner,Jmeter。VisualStudio也提供了很多性能测试的工具。要求测试人员对低层协议非常理解和编写脚本

  性能测试非常有技术含量,很有发展前途,是软件测试人员的一个职业发展方向。

  安全性测试

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

  安全性测试非常有技术含量,我认为也是软件测试人员的一个职业发展方向

  按测试的时机和作用分类

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


测试名称


测试内容


Smoke Test


“冒烟”–如果测试不通过,则不能进行下一步工作


Build Verification Test(BVT)


验证构建是否通过基本测试。


Acceptance Test


验收测试,为了全面考核某功能/特性而做的测试

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

  按测试测策略分类


测试名称


测试内容


Regression Test 回归测试


对一个新的版本,重新运行以往的测试用例,看看新版本和已知的版本相比是否有退化 (regression)


Ad hoc Test 探索性测试


随机进行的,探索性的测试。


Santiy Test


粗略的测试, 只需要执行部分的测试用例

  Regression Test 回归测试:

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

  1、开发人员做些小改动,就需要测试人员做回归测试。确保现有的功能没有被破坏

  2、Bug Fix 也需要回归测试,确保新的代码修复了Fix,也确保现有的功能没有被破坏

  3、项目后期,需要做一个完整回归测试,确保所有的功能都是好的

  Ad hoc Test 探索性测试:

  平常我最喜欢做随机测试了,抛开test case,自己按照自己的思路,随便点点。如果测试GUI,Ad hoc能发现大量的bug。

  

 

非功能测试

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

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-13 07:52:57

软件测试方法汇总的相关文章

软件测试方法大汇总_其它

软件测试方法大汇总 软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多. 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法. 从测试设计方法分类 测试名称 测试内容 Black box黑盒测试 把软件系统当作一个"黑箱",无法了解或使用系统的内部结构及知识.从软件的行为,而不是内部结构出发来设计测试. White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择

软件测试方法和技术

1.1 什么是软件测试 定义:是由"验证(Verification)"和"确认(Validation)"活动构成的整体:  "验证":检验软件是否已正确的实现了产品规格书所定义的系统功能和特性.  "有效性确认":确认软件是否满足用户真正的活动需求. 功能和特性的区别(the difference between functionality and features): Functionality refers to how

抢票软件哪个好?2014抢票软件大汇总

新的2014即将来临,一年一度的抢票运动会也将拉开序幕了!铁老大已经在新年前夕上线了新版12306购票页面,并带来官方性质的抢票功能.但相较于我们熟悉的那些抢票插件来说,还是弱了太多.总结往年相关经验,我们提前演练下了解下,这样才能在新的抢票比赛中胜出,安心的踏上回家之路!到底抢票软件哪个好呢?小编今天做了一个汇总,大家可以逐一下载. 最佳推荐 12306.cn 理由:官方出品,安全保证. 首先推荐12306的原因只有一点,那就是他的官方性质,还有......放票前几分钟的修改代码屏蔽抢票插件.

等价类结和判定表的软件测试方法应用

摘要:软件测试的类型通常分为白盒测试和黑盒测试,其中基于等价类的划分法与基于判定表的测试法都是较为典型和实用的黑盒测试技术方法.在实际工作中,为了使测试用例的覆盖更加全面,测试目的更加明确,通常不仅仅局限于某一种测试手段.针对等价类和判定表这两种方法各自的特点,可以将两者有机结合,通过对输入条件进行等价类划分,对输出行为进行判定表列举,用综合的手段进行软件测试工作,从而达到使测试用例的设计覆盖全面.条理清晰的目的. 关键词:等价类:判定表:软件测试 1.概述 软件测试的类型一般来说,可以划分为白

Linuxx下安装软件方法汇总

  前言:在Linux中安装软件时,我们经常要考虑到这样几个个问题:(1).怎样安装软件;(2).软件安装在什么地方;(3).如何卸载删除不要的软件......下面,我们就一起来认识一下这些方面的问题. 一.认识Linux应用软件安装包 通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. 2) rpm包,如software-1.2.3-1.i386.rpm.它是Redhat Linux提供的一种包

linux下的图像处理软件对比汇总

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   最近几年Linux的开源图像处理软件的进步迅速,尽管系统本身的兴趣不减,构建其上的各种开源软件也差强人意.比Windows下要强多了.作为一个普通的摄影爱好者,现在linux下的图像处理软件已经远远能够超出一般爱好者的要求. GIMP GIMP,Linux下的Photoshop,因为aloa不用photoshop,所以没有什么体会.但gimp功能只多不少,扩展功

【资料合集】阿里巴巴开源技术汇总——内含115个软件与100+技术文档、PDF下载

开源是孵化新技术领域的容器,开源是技术演进的强大推动力.多年来,阿里巴巴集团一直积极拥抱开源事业,无论是开源软件的应用.回馈以至自研技术的开源都非常活跃. 为了更好地让开发者们深入了解阿里开源,本文对社区内发布过的开源技术精品内容做了一次大汇总,包括115个阿里巴巴开源技术.阿里巴巴73款开源产品全向图.首届阿里开源峰会PDF+活动视频回顾等等. 阿里巴巴73款开源产品全向图 2016阿里巴巴73款开源产品全向图(9月制)点击图片可下载大图. 2016阿里巴巴73款开源产品全向图详细介绍 "阿里

软件的黑盒测试方法解析与优化

摘要:软件测试是保证软件质量的重要手段,尤其是自动化测试可以提高测试效率,降低成本.黑盒测试是针对非计算机专业人员进行的测试,为了确保测试质量,必须总结出一套适合业务人员使用的测试方法.文章从实际需要出发,对黑盒测试方法进行了分析,并提出了优化方案.希望可以降低软件测试成本,提高测试效率,对软件测试人员的工作有所帮助. 关键词:软件测试:黑盒测试:测试策略 引言 黑盒测试是目前软件业界采用的主流测试方法,这种方法以业务应用为驱动,通过控制输入及其对业务的预期影响来判断代码实现是否正确. 实践证明

浅谈软件静态测试中的代码审查

摘要:本文描述了软件代码审查的作用.代码审查内容.代码审查过程,并列举一些常见代码审查问题. 关键词:软件测试:代码审查: 一.引言 软件测试常用方法可分为动态测试和静态测试,只有动态测试和静态测试有效结合,才能更好的完成软件测试工作.代码审查是软件静态测试中常用的软件测试方法之一,代码审查时,只要测试人员方法得当.足够细心,往往能够产生意想不到的效果. 二.代码审查的作用 代码审查是在不执行软件的条件下有条理的仔细审查软件代码,从而找出软件缺陷的过程. 代码审查可以找出动态测试难以发现或隔离的