软件测试方法和技术 - 第一讲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件测试方法和技术SoftwareTestingmethodsandtechniques软件测试方法和技术SoftwareTestingmethodsandtechniques第一讲软件测试SoftwareTestingmethodsandtechniques在本章中,我们将学习:–什么是测试–测试的重要性–软件生命周期–测试的职责–测试工程师应该具备的素质–测试的基本原则软件测试基本概念完成此课程之后,学员将具备以下能力:–理解软件测试的含义–为什么要测试?测试的重要性何在?–测试的现状、前景?测试工程师能从事哪些工作?要满足哪些条件?–测试在软件开发过程中扮演什么角色?测试要做哪些事情?–测试人员应该具备哪些素质?软件测试基本概念什么是测试测试的重要性软件生命周期测试的职责测试工程师应该具备的素质测试的基本原则软件测试基本概念软件测试基本概念对于测试的定义,一般有三种不同的说法:•定义1:软件测试是为了发现错误而执行程序的过程。•定义2:软件测试是根据软件开发各阶段的规格说明书和程序的内部结构而精心设计的一批测试用例(即输入的数据及其预期的结果),并利用这些测试用例运行程序以及发现错误的过程。•定义3:软件测试是软件测试工程师根据规格说明书在实验室通过一些技术手段和专业工具模拟现场环境,以期发现软件中存在的问题。软件测试基本概念这三种定义其实都说明了以下问题:•测试的目的:测试是为了发现软件中存在的问题。从这个意义上说,测试不是为了证明软件没有错,而是证明软件存在问题。•测试的依据:测试所有的依据都来源于需求规格说明书。•测试的人员:测试必须是由专门的测试工程师来完成的,而不是开发人员自己测试自己的代码,或开发人员交叉测试。•测试的方法:测试必须设计测试用例,测试用例至少包括三个要素:输入的典型数据、预期输出的结构和测试场景描述(即测试的步骤)。测试往往要借助专业的测试工具。软件测试基本概念什么是测试测试的重要性软件生命周期测试的职责测试工程师应该具备的素质测试的基本原则软件测试基本概念软件在开发过程中,虽然经过了开发人员的调试,但还是难免会出现这样那样的问题,比方说:开发人员理解用户的需求有出入两个开发人员做出来的东西风格不一致软件的接口部分出了问题业务逻辑与实际不符用户的误操作造成非预期的错误,系统不能恢复正常软件经不起长时间运行或大数据量的考验当然还有很多情况会造成软件出现错误,这软件测试基本概念些都不是开发人员仅仅通过调试就能发现的,这还不包括开发人员自己的疏忽,因此必须要通过我们的测试帮助开发人员找出这些错误,以免这些问题流传到用户那里,所以可以说测试就是软件质量的保证,我们的测试人员就是软件的“把关人”,我们要把好软件质量的最后一关。软件测试与软件开发是互相促进的,软件开发能帮助软件测试提高测试水平,软件测试能帮助软件开发培养严谨的思维和质量意识。测试的重要性(续)软件测试基本概念什么是测试测试的重要性软件生命周期测试的职责测试工程师应该具备的素质测试的基本原则软件测试基本概念软件生命周期:项目任务书可行性研究开发计划需求分析软件设计程序编码软件测试软件运行软件维护软件停用软件测试基本概念什么是测试测试的重要性软件生命周期测试的职责测试工程师应该具备的素质测试的基本原则软件测试基本概念软件测试的工作职责:验证在整个软件开发周期中,各个阶段的软件质量是否合格。验证最终交付给用户的系统是否满足用户的需要,是否符合需求。通过样本测试数据,检查系统在运行过程中的情况。软件测试的活动范围:测试计划测试用例测试实施测试报告配置管理软件测试基本概念什么是测试测试的重要性软件生命周期测试的职责测试工程师应该具备的素质测试的基本原则软件测试基本概念•沟通能力•移情能力•技术能力•自信心•外交能力•幽默感•很强的记忆力•耐心•怀疑精神•自我督促•洞察力•责任感人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。然而,在软件开发产业中有一种非常普遍习惯,那就是让那些经验最少的新手、没有效率的开发者或不适合干其他工作的人去做测试工作。这绝对是一种目光短浅的行为,对一个系统进行有效的测试所需要的技能绝对不比进行软件开发需要的少,事实上,测试者将获得极其广泛的经验,他们将遇到许多开发者不可能遇到的问题。总的说来,一个优秀的软件测试工程师应该具备以下素质:软件测试基本概念一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。而和开发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。软件测试基本概念和系统开发有关的所有人员都处在一种既关心又担心的状态之中。用户担心将来使用一个不符合自己要求的系统,开发者则担心由于系统要求不正确而使他不得不重新开发整个系统,管理部门则担心这个系统突然崩溃而使它的声誉受损。测试者必须和每一类人打交道,因此需要测试小组的成员对他们每个人都具有足够的理解和同情,具备了这种能力可以将测试人员与相关人员之间的冲突和对抗减少到最低程度。软件测试基本概念就总体言,开发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。软件测试基本概念开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了。软件测试基本概念当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的外交手腕。如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相当于“赢了战争却输了战役”。软件测试基本概念在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。软件测试基本概念一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。软件测试基本概念一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的。软件测试基本概念可以预料,开发者会尽他们最大的努力将所有的错误解释过去。测式者必须听每个人的说明,但他必须保持怀疑直到他自己看过以后。软件测试基本概念干测试工作很容易使你变得懒散。只有那些具有自我督促能力的人才能够使自己每天正常地工作。软件测试基本概念一个好的测试工程师具有“测试是为了破坏”的观点,捕获用户观点的能力,强烈的质量追求,对细节的关注能力。应用的高风险区的判断能力以便将有限的测试针对重点环节。软件测试基本概念软件测试作为软件开发环节的最后一关,起到质量“把关”的作用,如果测试人员没有很强的责任心,软件的质量不可能得到保证。软件测试基本概念什么是测试测试的重要性软件生命周期测试的职责测试工程师应该具备的素质测试的基本原则软件测试基本概念在测试过程中,要遵循以下原则:尽量不要自己测试自己的代码,或者让其他开发人员测试自己的代码测试是为了证明程序有错,而不是证明程序无错误;一个成功的测试是发现了至今未发现的错误的测试任何测试都不是完全的,因此测试不可能发现所有的问题,而测试的目的是尽可能找出软件中所有的问题软件测试是基于用户需求,因此任何脱离用户需求的测试都是没有意义的每个软件的需求都不一样,因此每个测试活动都不可能完全一样,不要妄图把一套测试模式应用到每一次测试中,要具体情况具体分析,要把有限的资源用到最关键的地方软件测试基本概念软件测试人员在测试过程中一方面要站在技术人员的角度分析问题,另一方面又要站在普通用户的角度观察软件,即要学会换位思考软件测试人员并不仅仅是软件的“高级用户”,他们要审视的对象是专业的开发人员,如果没有一定的技术基础,没有对软件更高层次的理解,是不可能扮演好软件“裁判员”的角色软件测试越早发现问题越好不能重现的错误不算错误软件测试基本概念•谢谢!软件测试基本概念第二讲软件测试SoftwareTestingmethodsandtechniques

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功