新手入门知识-系列篇

来源:互联网 发布:mac os如何切换输入法 编辑:程序博客网 时间:2024/05/17 01:02
新手入门知识-系列篇

软件测试行业终于被越来越多的人知道并加入进来,作为一个软件测试人员感到很高兴,为了给大家出一份力,我将陆续贴一些基础知识,然后再将自己的理解写出来,也许有理解的不对的地方,也希望和大家一起讨论。

本文作者特此授权测试时代(www.testage.net)独家发表,如需转载,请与作者本人或测试时代(北京慧灵科技有限公司)联系!未经授权,请勿转载,违者必究

1、软件测试是什么
定义:测试是对软件产品质量的检验和评价。它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(包括输入数据与预期输出结果),并利用这些测试用例运行软件,以发现软件错误的过程。

理解:软件测试简单来说就是对一个软件进行一个检测,看软件的一些功能,性能等方面是否达到了用户要求。由于一个软件的基础、根本就是功能,所以测试人员非常多的精力都投入到功能中,所以很多人刚开始就认为软件测试就是拿着鼠标乱点,很看不起测试的工作。其实很正常,我们对于自己一些不太了解的事情总会有一些比较片面的了解。但是已经入行的测试人员却不能看不起自己的职业,因为你了解的,将来要做的远远比乱点要多的多。乱点的确也算是一种测试,名词叫随机,但是如何从随机中找到规律,如何能遍历所有的功能,这都需要一些前人总结出来的方式方法指导,所以测试不简单,至于方式方法是什么?咱们下回继续。

2、什么是黑盒测试,白盒测试
黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下, 测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。

理解:黑盒,白盒是软件测试的基本方法,简单的说黑盒就是看不到代码,不关心代码,只关心这个功能实现了没有。白盒测试就是关心代码,看代码是否规范,小的算法是否能够实现。
     目前来说,白盒测试因为起码要有开发基础,而且成本比较高,所以白盒测试人员相对较少,也许是物以稀为贵,所以白盒测试对很多工程师都有一定的吸引力。
     虽然黑盒测试不接触代码,但是并不代表很简单,首先测试人员要了解你所测试的软件的功能,如果是行业软件还要了解相关行业经验,然后还要怎样能够将所有软件的功能,流程测试到。每做一步都要有一个目的,目标明确才能事半功倍,所以黑盒测试不是纯粹的乱点,是有目的,有设计性的 

3、什么是功能测试,性能测试
定义:
功能测试:验证测试软件功能能否正常按照它的设计工作。看运行软件时的期望行为是否符合原设计。
性能测试是:通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。

理解:
功能测试:其实功能测试看着字面也比较好理解,就是验证软件是否实现了它应该实现的功能,也可以理解为是否按照用户的需求做了软件,多了功能或少了功能都是有问题的。没有写在需求里的功能,如果开发实现了,测试人员也是要报BUG的,除非是需求变更了,需求文档没有更新。现在很多公司需求工作做的都不是特别好,所以有时候测试人员没有一个相对可靠的依据来进行判断,这就要求测试人员有一定的沟通能力,去和客户,产品,需求,甚至开发人员不停沟通,得出一个比较可信的需求。

性能测试:功能测试是测试人员的基础工作,公司一般都是从功能测试做起,认为功能实现了产品就可以交付用户了,待到发现长时间运行或者多人同时用的时候系统总是瘫痪,才让各公司对性能测试引起重视。又或者是发现在大数据量查询或访问一个页面时系统很满让人难以忍受时,也让公司对性能不得不多多关注。其实以上我说的这些例子都是性能测试的一部分。
其实性能测试有两种含义,在说功能测试,性能测试时,性能测试是一个广义词。而在性能测试里又细分为压力测试,性能测试时,它是一个狭义的解释。至于细分怎么解释我们以后再谈。
由于性能测试比功能测试发展晚,所以相对来说积累的经验少,很多人想做又不知道从何下手,又有些人觉得工具能解决所有的问题。其实性能测试最重要的是一头一尾,前头的设计,后头的分析才是最重要的,而工具只是帮你实现你的设计而已。


4、什么是α测试和β测试?
定义:
Alpha testing (),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

理解:找了很多个定义,感觉这个还比较恰当。有把α测试说成是模拟用户的测试,我觉得有点误导了,最早这个概念是在软件工程书里软件测试章节里提到的,这两种测试实际上都是用户在测试。简单说来Alpha testing (α测试)就是用户在软件开发公司可控的情况下进行测试。Beta testing(β测试)是用户在用户自己的环境进行测试,软件开发公司不可控。其实个人认为这种定义纯属理论,于实际工作指导意义不大,用处最多的地方是面试的时候。但是好像无论中国人还是外国人有时候都喜欢玩文字游戏,无奈

原创粉丝点击