测试基础,测试策略与方法(转载)
今天说的是测试的策略与方法,首先看一下什么事策略和方法,这个就有点像军事上的战略和战术,一个是宏观的,一个是微观的。
由此来看,软件测试策略就是在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。这个测试原则、方式、方法的集合可以帮助我们对测试进行全局的分析。
当我们拿到一个软件准备测试时,首先要从宏观上把握。宏观上基本就是我们常说的5个W:when、where、who、what、how。When就是把握测试的进度,where就是测试的场地,who就是团队建设,what就是要测什么,how就是怎么测。我们的策略应该就是how,怎么测。
那么就来看一下我们的测试策略的种类吧。
1、 白盒测试、灰盒测试和黑盒测试
黑盒测试:又称为功能测试、数据驱动测试或者基于规格说明书的测试,注重测试软件的功能需求。测试人员不关心程序具体如何实现,根据软件的规格对软件进行各种输入,观察软件的各种输出结果,发现软件的缺陷。因为这类测试不考虑软件的内部运作原理,因此软件对用户来说就像一个黑盒子。例如计算器程序,输入2+2只要结果是4,那么就说明功能是正确的,而不必去关心内部是2*2还是2+2,只注重它的输出结果是不是我们的预期结果。
白盒测试:又称结构测试、逻辑驱动测试或基于程序代码的测试。根据软件内部的工作原理分析来进行测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量。这种测试就要关心它的内部实现了,还是我们的计算器,计算2+2,我们就要看它的内部实现了应该是2+2,而不是2*2。
灰盒测试:是介于黑盒测试与白盒测试之间的测试方法,在执行白盒测试的时候考虑使用黑盒测试的方法
2、手工测试与自动化测试
手工测试:顾名思义就是手工执行软件来发现缺陷而不依赖于其他自动化工具。
自动化测试就是依赖自动化工具来辅助测试,常见的自动化工具比如QTP、LoadRunner、Robot等。
3、静态测试与动态测试
静态测试是不运行被测程序本身而寻找程序中可能存在的错误或评估程序代码的过程。主要是检查代码文档这些。静态测试既可以手工检查也可以使用自动化工具,如检查代码的Jtest、C++ Test等。动态测试就是执行程序来检查是否存在缺陷。
4、功能测试与性能测试
功能测试:根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
性能测试:评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。
5、冒烟测试
冒烟测试又称为版本验证测试。主要是验证软件的基本功能是否正常。当我们拿到一个软件时首先要进行的是冒烟测试,如果冒烟测试不通过那么下面就可以不用测了。比如我们测试搜狗输入法时,它不能正确地安装,那么接下来的功能就可以不用测了。
6、回归测试
回归测试是对软件新版本的测试,当拿到一个新版本测试时首先要重复执行上一个版本的用例(或一部分用例)。
7、随机测试
又称为猴子测试,就是没有指定的用例,完全根据测试员的经验来测试。
OK,今天就介绍这些了,今天的重点要掌握这些常见的测试策略了。明天会继续给大家介绍测试方法,从明天开始我会用一些小项目来帮助大家学习,并增加经验。
英语单词:
因果图:cause-effect graph 代码覆盖:code coverage 条件测试:condition testing 配置管理:configuration management