《软件测试》第二版读后感
第一次听到“软件测试”是在学校里,因为是计算机专业,在学校学校.net编程,但是老师总是说测试其实比开发还难,可是我理解不了,因为在我心里测试是比开发要简单得多的。
但是自从看了《软件测试》这本书,真的让我特别深刻的理解到软件测试这个职业的真正含义,原来我之前对这个词的理解是如此片面的。首先这本书纠正了我很多模糊不清的概念,以前的我只知道测试就是不断的点击按钮,看功能是否正常,如今我真正学会了测试的步骤,测试的方法,如何寻找测试点、分析测试点等等,当然现在写的还知识测试生涯上最基本的知识,对于那些高难的复杂的还有待我接下来再去挑战。下面列举了我觉得作为测试人员最重要也是最基本应该牢牢掌握住的东西。
一、为什么要进行软件测试
软件测试工作是一个系统而复杂的工程,软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。
而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。
二、软件需要测试的部分
我们总在说要对软件进行测试,那么我们到底需要对软件进行那些测试呢?
下面我们对一些常常常需要进行的测试进行一些列举。
1.边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
2.非法测试,例如在输入数字的地方输入字母。
3.跟踪测试,跟踪一条数据的流程,保证数据的正确性。
4.在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。
5.接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。
6.代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
7.突发事件测试,服务器上可能发生意外情况的测试。
8.外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统错误时, 这个系统所受到的影响的情况。
9.在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。
10.认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。
11.文字测试,如果在系统中有用词不当的地方,我想这是不应该的。
二、软件测试的基本方法
软件测试针对的是软件的缺陷,也就是说我们软件测试为的就是找出软件的某些缺陷,为了更好的找出软件的缺陷,我们应当知道软件的缺陷的定。
1)软件缺陷的定义:
软件未实现应实现的功能
软件出现了不应出现的错误
软件实现了不应实现的功能
软件未实现符合一般软件常识的功能
软件出现了使用、性能上等不易被用户接受的问题
针对上面所述的缺陷,我们提出了一些列的软件测试的方法。
2) 首先从是否关心软件内部结构和具体实现的角度划分可以划分为两大类
黑盒测试(不知道程序的结构)
白盒测试(知道程序的结构)
黑盒测试:
是软件测试中的另一种方法,即在测试时,测试人员并不了解程序的结构,因此测试人员只能通过输入得到相应输出,并根据相应的输出结果来判断某个功能是否实现、此功能是否正确。黑盒测试常用的方法有:
划分等价类
输入条件
边界值分析法
错误推测法
因果图法
判定表组成法
正交试验设计
场景法
这种测试方式只能了解到程序的外部结构无法知道程序的内部的逻辑结构。
我觉得真正深刻的理解了上面的三点,起码可以说你是一个测试人员了,本书的内容有些偏理论性,乍一看有些枯燥乏味,但是每个例子举的都恰到好处,每个例子都是来自于生活之中,通俗易懂,让人对测试这个职业越来越有兴趣。
对于测试人员来说,首先要有一份完整的需求文档,规格说明,还有原型图。然后就是好好的透彻的理解一下需求,然后进行测试用例的编写,包括项目质量报告中要求的所有测试种类(功能测试、接口测试、交互测试,兼容性测试,性能测试,压力测试,自动化测试等)。接下来就要开始根据数据库设计文档准备规划测试数据了,这里值得注意的是要考虑好表与表之间的关联,根据你想要测试的功能编写需要的数据内容和条数。但是所有工作能够顺利进行的前提就是必须把需求彻彻底底的搞明白,弄清楚,否则就算是做了也是白做。到此为止测试前的准备工作就差不多做好了,可以开始准备测试了。首先至关重要的莫过于功能测试了,因为一个软件如果连基本的功能都没有实现的话更不用提什么性能或者兼容性了。测试过程中需要注意的是要有足够的细心耐心和决心。良好的反向思维、发散思维能力。然后还要要很好的和开发的沟通能力,再有就是要真正搞清楚问题出现的原因,这样不但自己能够多学到知识,而且还能积累经验,下次再遇到类似功能就可以很轻松的就搞定了。接下来就是bug单的填写了,bug分为很多类型,还有很多级别,这些类型和级别要真正弄懂是什么含义,正确的给bug分类和等级也是保证软件质量的关键,还有就是哪怕是界面优化的bug也要提交上去,并且跟踪开发进行修改,因为这虽然不会影响功能的使用,但是会影响用户体验,所有尽量不要放掉任何一个小的细节。
以上谈的是我在看完这本书之后以及工作中的感想,我知道本次看这本书深层次上的知识我并没有掌握,但是没关系,书读百遍其义自见,再加上工作经验的积累,成为一个好的测试工程师肯定没问题的。
共同学习,写下你的评论
评论加载中...
作者其他优质文章