前言
我们在测试过程中经常会遇到以下问题:
· 如何进行测试设计?
· 测试设计的过程是怎样的?
· 什么是测试对象?为什么要进行测试对象的拆分?
· 常见的测试用例设计方法有哪些?
· 如何进行开发实现了解在灰盒层面进行测试?
· 为什么要进行灰盒层面的测试?
· 如何提升自己的测试发散度?
以上诸多问题可能是新加入测试的同学或者从事一段时间测试之后,同学们常见的问题,下面我们将逐一解答大家的问题。
一、测试流程介绍
当大家拿到一个新产品或新功能时,有没有考虑如何进行测试?
答案是多种多样的。有些人可能会说要严格的按照软件工程的控制过程,进行单元测试、集成测试、系统测试等等;有些人可能会说直接进行黑盒的测试设计,然后执行黑盒测试用例就行,保证黑盒测试做好就行;有些人甚至可能会说不用做复杂的测试设计,直接把产品拿来就用,当做一个实际用户来进行产品的使用即可。
这些答案,我觉得是仁者见仁智者见智,不同项目的质量要求、不同项目的迭代周期,不同项目所处阶段决定了它的测试方法、测试流程。之前曾听说有些项目组(如手机输入法)每天就进行大量的随机测试,但是同样能够保证软件的质量。从这个问题,我们可以看到测试流程在整个测试中的重要性,首先我们先讨论这个测试流程。
是不是测试流程一定要具备类似于传统软件行业的双V模型(后续会做介绍)等规范化的流程才能称之为测试流程?我个人的意见是不一定。互联网软件行业最大的一个特征就是快速迭代,通过不断地、持续地进行增量式的迭代开发,在较短的周期内进行软件需求、设计、开发、测试并上线。虽然这个过程中各方没有规范化的文档,没有按照规范化的流程来做事,但是通过快速迭代吸引到大量的用户,这个收益和战略意义远比完备的文档要大得多。
所以,我们首先要想大家介绍的是,桌面测试组目前的开发模型和测试流程。
... ...
查看更多精彩内容,请点击下载:http://www.51testing.com/html/07/n-3649907.html
i.与其他模型相比,这个过程中没有里程碑的概念(里程碑是指上一个阶段所有的产出达到标准后才能进入下一个阶段)。
在产品需求已经给出之后,开发可能已经着手进行产品的开发或者技术准备,测试也已经着手进行测试用例准备,此时出现需求考虑不全等问题,可以随时进行问题的沟通和改正。它所带来的问题是已经设计的用例可能要被改写甚至删除。
ii.没有单元测试、集成测试阶段。
传统的软件开发流程中,单元测试和集成测试有着重要的地位和作用,它可以在开发过程的前期,投入一定的成本进行相关函数和模块的测试,将缺陷在早期即被发现。
Note:可能会有同学会问,既然单元测试和集成测试这么好,为什么我们不去做?
1)单元测试和集成测试需要相应的详细设计文档、概要设计文档来进行支持,同时编写相应的测试代码才可以进行,这需要投入不少的时间和成本。
2)单元测试仅能发现功能的逻辑是否正确,但是不能发现功能的逻辑是否合理。
在互联网软件快速迭代的特性下,这个过程是无法满足要求的。
综上所述,桌面组的测试过程是一个全程参与产品需求、设计和测试的过程,同时由于互联网快速迭代的特性,决定了测试过程并不是严格遵照软件工程的开发模型而进行的。快速迭代、周期较短、受众用户广从而对产品质量有着更高的要求,决定了我们要走一条有自己特色的测试发展路线。
二、测试用例设计过程
桌面组的测试用例设计过程一般会经过这样几个过程:产品需求了解与确认、黑盒层面测试对象拆分、黑盒层面测试点发散、开发实现的了解、实现层面的测试对象拆分、实现层面测试点发散,撰写测试用例。
... ...
查看更多精彩内容,请点击下载:http://www.51testing.com/html/07/n-3649907.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。