产品经理0岁的产品经理@产品

【0岁产品笔记】软件测试的基本方法

2017-11-26  本文已影响12人  Zoo有话说

在项目流程中,软件测试是很重要的一个环节。作为一个合格的PM需要对基础的测试方法有所了解。在测试前,首先需要清楚什么是软件缺陷?摘取Ron patton的《软件测试》

1)软件未实现产品说明书要求的功能

2)软件出现了产品说明书指明不应出现的错误

3)软件实现了产品说明书未提到的功能

4)软件未实现产品说明书虽未明确但应实现的目标

5)软件难以理解、不易使用、运行缓慢或者从测试员的角度最终认为用户体验不好

综合来说,软件测试员的目标就是尽可能早地找到软件缺陷,并确保其得以修复。

但我们需要清楚的是软件测试永远不会是完美的,如输出量太大、输出结果太多、软件执行路径太多、软件说明书是主观的等。

既然不去选择测试所有的情况那就相当于是一场冒险的行为,所以测试员需要秉持的一个关键思想是:如何把数量巨大的可能性测试减少到可控的范围,以及如何针对风险作出明智的选择,哪些测试重要,哪些不重要。


站在产品的角度上,大致了解黑白盒、动静态测试的定义:

a、黑盒测试:又称功能性测试,测试员只需要知道软件要做什么,而无法看到盒子里的软件是如何运行。

b、白盒测试:测试员需要根据代码检查结果判断或多或少可能出错的数目,并据此定制测试。

c、静态测试:指检测不运行的部分,只是检查和审核。

d、动态测试:使用和运行软件进行检测。

不同的组合从而形成了四种基础的测试方法:

1、静态黑盒测试:产品测试说明书,测试员可以利用书面文档进行静态黑盒测试,认真查找其中的缺陷。

2、动态黑盒测试:不深入代码细节运行软件测试的方式。

该测试要在保证基础功能是否实现的基础上,通过各种手段搞垮软件而实行操作,这也是纯粹为了破坏软件而设计和执行的测试用例。动态黑盒测试又分为数据测试和状态测试。

数据测试注意一些关键性的原则,如边界条件,次边界条件,空值和无效数据。如边界条件测试不仅需要测试临近边界的有效数据,同时测试刚超过边界的无效数据。如空了再减/满了再加,最大数加/最小数减1等。

状态测试主要分为竞争条件、重复、压迫和重负几种情况:

    竞争条件:指几个时间恰巧挤在一起,由于软件未预料到运行过程会被中造成混乱的情况。

    重复测试:不断执行同样的操作,检查是否存在内存泄漏。

    压迫测试:使软件在不够理想状态——内存小、CPU速度慢等情况下运行。

    重压测试:尽可能提供条件任其发挥,让软件处理尽可能大的数据文件。

3、静态白盒测试:在不执行软件的情况下有条理地仔细检查设计和代码,从而找到软件缺陷的过程。该测试的主要原因是尽早发现软件缺陷,以找出动态黑盒测试难以发现或者隔离的软件缺陷。另外也是为黑盒测试员进行测试时设计和应用测试用例提供思路,可以让黑盒测试人员不用了解代码细节,但通过听审查评论,从而确定容易产生软件缺陷的特性范围。

其测试类型主要包括以下几种:数据引用错误、数据声明错误、计算错误、比较错误、控制流程错误、输入/输出错误等。

4、动态白盒测试:利用查看代码功能(做什么)和实现方式(怎么做)得到的信息确定哪些需要测试,哪些不要厕所,如何开展测试。


复盘四种基本测试方式:

静态黑盒测试是指检查产品测试说明书,在编程之前找到存在的问题。

动态黑盒测试是指在不了解软件内部如何工作的前提下进行测试。

静态白盒测试是指不运行软件,通过审查和检验检查代码的细节。

动态白盒测试是指看到运行软件的工作方式时,根据获得信息对软件进行调试。

以上

上一篇下一篇

猜你喜欢

热点阅读