您好,欢迎访问三七文档
软件测试技术读书心得作为一名具有一年多的软件开发人员,对于软件测试我有着深刻的体会。我在2014年6月进入湖北大学软件工程研究所,开始学习并且进行C#.NET团队开发,除了课程设计,也进行了真正的项目实战开发。因为这些开发经验,我深刻的明白软件测试在项目开发当中有着相当重要的地位,尤其是那种团队开发!一、软件测试的工作及要求软件测试工作是一个系统而且复杂的工作,软件测试的目的就是在确保软件多分质量,确认软件以正确的方式做了你所期望的工作,所以软件测试工作的主要内容就是发现软件的错误发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。二、为什么要进行软件测试其实对于开发人员来说,软件测试是一件很痛苦的事情。我们每个开发人员都是希望并且认为我们写的代码是没有问题的,而软件测试的工作就恰恰就是找出开发人员程序中的bug,这是一个很让软件开发人员郁闷的一个问题。我辛辛苦苦写代码实现出来的功能在测试人员的眼里,各种问题各种bug都出现了,这对于一个程序人员来说,算的上是一种打击。这也就是在我们团队开发中一个常常出现的问题——出现争论。我们团队经常为了某一个功能争论,测试人员觉得这个功能不合理,不合适,甚至是错误的,而开发人员觉得这个功能没有任何问题!而且在大多数情况下,这种争论都以软件测试人员的胜利告终。出现这种争论的原因是,一个程序员,都会对自己的软件出现这样一种期望——期望自己的软件不会出现错误!然而,正是因为这种期望,我们更是需要进行测试,并且让专人来进行测试,因为,在这种心理的期望面前,任何程序员都会出现测试上的偏向,他们更偏向于向软件正常运行的的那个一方面进行测试,然而实际上这种测试是经不起现实数据的考验的。这也体现了软件测试的重要性。并且,根据这种心理,有人提出了一种测试的方法——黑盒测试。三、软件需要测试的部分我们总在说要对软件进行测试,那么我们到底需要对软件进行那些测试呢?下面我们对一些常常常需要进行的测试进行一些列举。1.边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。2.非法测试,例如在输入数字的地方输入字母。3.跟踪测试,跟踪一条数据的流程,保证数据的正确性。4.在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。5.接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。6.代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。7.突发事件测试,服务器上可能发生意外情况的测试。8.外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时,这个系统所受到的影响的情况。9.在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。10.认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。11.文字测试,如果在系统中有用词不当的地方,我想这是不应该的。12.系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。像一些很特别的用户去使用系统,你很有可能发现BUG。13.用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。以上举例出来的我们在软件开发过程中,一般都需要进行测试四、软件测试的基本方法软件测试针对的是软件的缺陷,也就是说我们软件测试为的就是找出软件的某些缺陷,为了更好的找出软件的缺陷,我们应当知道软件的缺陷的定。1)软件缺陷的定义:软件未实现应实现的功能软件出现了不应出现的错误软件实现了不应实现的功能软件未实现符合一般软件常识的功能软件出现了使用、性能上等不易被用户接受的问题针对上面所述的缺陷,我们提出了一些列的软件测试的方法。2)首先从是否关心软件内部结构和具体实现的角度划分可以划分为两大类黑盒测试(不知道程序的结构)白盒测试(知道程序的结构)黑盒测试:是软件测试中的另一种方法,即在测试时,测试人员并不了解程序的结构,因此测试人员只能通过输入得到相应输出,并根据相应的输出结果来判断某个功能是否实现、此功能是否正确。黑盒测试常用的方法有:▪划分等价类▪输入条件▪边界值分析法▪错误推测法▪因果图法▪判定表组成法▪正交试验设计▪场景法这种测试方式只能了解到程序的外部结构。无法知道程序的内部的逻辑结构,因此具有一定的局限性。而知关于逻辑部分的局限性便可由白盒测试来进行弥补。白盒测试:是软件测试中比较常用的用来测试逻辑软件结构的方法,通过白盒测试,我们可以了解程序的详细的逻辑结构,以此来判断程序的运行是否得到我们想要的效果。白盒测试常用的方法就是覆盖测试,也就是语句覆盖和逻辑覆盖。语句覆盖要求在设计测试用例的时候将所有的语句运行到,而逻辑覆盖则是要求对于每一个判断所得到的不同的路径我们均需要进行测试。3)从是否执行程序的角度也分为两大类静态测试动态测试4)从软件开发的过程按阶段划分有A.单元测试B.集成测试C.确认测试D.系统测试E.验收测试F.回归测试G.Alpha测试H.Beta测试五、软件测试的过程软件测试的方法有很多,而软件测试应当尽早进行并且按照一定的步骤进行,这样才可以把问题今早的解决在摇篮里面。下面是软件测试的步骤。第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。第二步:设计测试用例。设计测试用例要根据测试需求和测试策略来进行,进度压力不大时,应该设计的详细,如果进度、成本压力较大,则应该保证测试用例覆盖到关键性的测试需求。该用例被批准后转向第三步。第三步:如果满足“启动准则”(EntryCriteria),那么执行测试。执行测试主要是搭建测试环境,执行测试用例。执行测试时要进行进度控制、项目协调等工作。第四步:提交缺陷。这里要进行缺陷审核和验证等工作。第五步:消除软件缺陷。通常情况下,开发经理需要审核缺陷,并进行缺陷分配。程序员修改自己负责的缺陷。在程序员修改完成后,进入到回归测试阶段。如果满足“完成准则”(ExitCriteria),那么正常结束测试。第六步:撰写测试报告。对测试进行分析,总结本次的经验教训,在下一次的工作中改。软件测试过程管理,主要包括软件测试是什么样的过程,如何评价一个软件测试过程,如何进行配置管理和测试风险分析以及测试成本的管理。
本文标题:软件测试读书心得
链接地址:https://www.777doc.com/doc-1991771 .html