软件测试之系统测试及软件测试分类
按测试阶段,软件测试分为单元测试、集成测试、系统测试、验收测试。本篇经验介绍系统测试及测试分类
一.系统测试
1、一般情况下,如果公司有一个职位叫测试工程师,那么很可能是系统测试工程师。
2、概念:系统测试,英文是System Testing。是将已经确认的软件、计算机硬件、外设、网络、甚至踝怆赜泖操作人员等系统其它组成元素组合在一起,在实际环境中对整个产品系统进行的一系列严格的测试,发现软硬件问题,保证整个产品系统的正常运行
3、由上啄醴荇侧述概念可以知道,系统测试并不仅仅是测试软件本身,还包括了软件的运行环境、输入的数据(比如信息的采集等)、其他支持的软件、操作人员本身等。系统测试的重点在于系统2个字,关注的是产品系统,比单元测试、集成测试更面向用户,更多的是站在用户的角度去测试,更偏向于业务。
4、所以,系统测试的测试对象,包括测试的系统本身,还有系统和其他系统的连通,还有真实环境下系统的运行情况,还有系统的各项性能指标。
二.软件测试分类
1、从测试的手段和技术划分,有以下几种划分方式:黑盒测试、白盒测试、灰盒测试静态测试、动态测试手工测试、自动化测试
2、黑盒畲驶郜杏测试:基本上所有的测试人员都知道这个概念。百度百科的概念如下:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考踟梯扳盆虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
3、黑盒测试的优点:简单,容易实施;黑盒测试理论上来说任何人都可以进行黑盒测试,及时你完全不懂计算机;贴近用户,站在用户的角度进行测试,从用户的角度出发
4、但黑盒测试的缺点也很明显:首先,覆盖率达不到,因为看不到代码,所以覆盖率只能达到代码量的40%;而且黑盒的自动化测试复用率很低,并且需要人长期专门的维护,维护成本高。
5、不过大家不要误认为黑盒测试仅仅在系统测试才会使用。开头已经说了,黑盒测试只是一种手段,在任何阶段都可以使用,不过系统测试使用的最多。
6、黑盒测试主要有以下几种设计方法:等价类划分法,边界值分析法、错误推测法、因果图法、判定表、正交试验设计等,后面会介绍几种常用的方法。
7、灰盒测试:介于白盒测试和黑盒测试之间的一种测试方式,关注输入输出的正确性,也关注内部的表现。
8、白盒测试:测试人员对程序内部的结构很熟悉,是针对程序的逻辑结构来进行的测试。白盒测试对技术的要求很高,而且昂贵,并且白盒无法验证需求的正确性和数据的正确性。但是白盒测试的覆盖率很高,并且让测试人员思考软件的原理及实现,对灰盒测试也有帮助,并可以发现一些黑盒测试发现不了的隐藏BUG,提高代码的健壮性。
9、静态测试:静态的,无需去执行被测试程序,通过评审软件的代码、文档,检查软件的实现手段和方法是否有不足之处。
10、不正式的方法有互审,这个和我尺攵跋赈们测试人员没有关系,由开发人员互相评审,许多大公司会要求开发人员互相评审代码;走查:这个比较正式,但也是小组内部的会议,一般测试人员也不参与;会议:这个很正式,一般测试人员会派人参加,但不会全部都参加,开发人员会全部参加,同时会来一些专家、经理等共同参与会议。
11、动态测试:动起来,像黑盒测试就属于动态测试,是需要执行被测试程序的
12、手工测试:是需要测试人员手工进行测试的,由测试人员执行测试流程,判断测试结果,比较考验测试人员的细心度、专业水准、责任心。
13、自动化测试:使用第三方程序自动的测试,第三方程序可以获取测试的结果并判断结果的正确性。比如:性能测试一般都是自动化测试。
14、自动化测试的效率更高,而且准确、可靠,但是开发投入较大,不会变通;而手工测试更容易发现缺陷,且容易实施,但比较考验测试人员的能力,不同的测试人员测试同一款产品可能得到的结果有比较大的不同。
三.等价类划分法
1、等价类划分,指的是一种典型的、重要的黑盒测试方法。是凸鹣沮北把所有可能的输入数据,即程序的输入域划分成若干个子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。等价类分为有效等价类和无效等价类
2、有效等价类是指对于程序的规格说明来说是合理的、有意义的数据集合(输入数据),可检验程序是否实现了规定的功能和性能。
3、无效等价类与有效等价类的定义相反。无效等价类指对程序的规格说明是不合理的、无意义的数据集合(输入数据)。
4、设计测试用例既要考虑有效等价类,也要考虑无效等价类。无效等价类至少要有一个,一般情况下可有多个。
四.边界值分析法
1、通常来说,边界值分析法是对等价类划分法的一种补充,其测试的就是等价类划分法的边界。边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
五.错误推测法
1、更多的是靠经验或者直觉,去推测可能出现的各种错误,编写针对性的测试用例,比较考验测试人员的能力。
六.因果图法
1、考虑输入条件的各种组合、输入条件之间的相互制约关系。从程序规格说明书找出因(输入条件)和果(输出结果),用图解的方式表示输出的各种组合关系,写出判定表,设计测试用例