软件测试知识点(很有用)

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

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

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

资源描述

1软件测试的概论1.什么是软件质量是指满足用户需求的程度A.明确定义的功能和性能需求B.明确定义的开发标准和准则C.隐含要求的其他特性2.软件的组成文档、数据和程序的集合。3.测试Testing引申:度量、检测。4.什么是软件测试?(有争议)是对数据、文档和程序的一种度量和检测。5.软件测试和软件质量之间的关系是什么?软件测试是为了提高软件质量而服务的,是保证软件质量的手段6.软件测试的目的是什么?A.验证(软件是否正确的实现了用户的某一特定功能(挑错))B.确认(软件符合用户需求)7.软件测试的对象文档、数据和程序文档(需求规格说明书、概要设计说明书、详细设计说明书、用户手册(帮助文档)等等)数据(还包括图片、视频等)程序(源码、模块、部件、软件)8.软件测试的原则是什么?A.所有的测试活动都应以用户需求(软件需求规格说明书)为标准B.应尽早地和不断的进行软件测试(和看病一个道理)C.完全测试是不可能的(例如:计算器)D.应充分注意测试中的集群现象(第一个:2.8定律20%的错误有80个80%错有20个)E.程序员应避免检查自己的程序F.尽量避免测试的随意性9.软件测试工程师的作用是什么?尽可能早的发现软件缺陷,并确保其得以修复10.软件测试的衡量标准是什么?多、快、好、省11.总结:从最初的软件质量------引申出软件测试-------了解软件测试需要了解什么内容就是我们关心的了软件质量------软件测试-------软件的组成------测试-------对象------目的------原则------软件测试工程师------衡量标准2软件测试的基础1.软件生存周期模型阶段基本任务基本任务问题定义理解问题生产电冰箱可行性研究理解工作范围产值、产量、技术能力等需求分析定义用户要求市场调研概要设计建立软件结构主体设计详细设计各模块的功能实现图纸设计编码编写程序制造测试发现和排除错误检验检测维护运行和管理保质保修2.软件需求分析需求是用户对系统提出的要求,这种要求可能是原始的、笼统的,也可能是抽象的太细节化的软件需求分析的主要目的是:在综合分析用户对系统提出的一组需求(基本功能、性能、数据等方面)的基础上,构建一个从抽象到具体的逻辑模型表达软件将要实现的需求。并以“软件需求规格说明书”的形式作为本阶段工作地结果,为下一个阶段的软件设计提供设计的基础3.概要设计又称总体设计,即确定系统的具体实现方案、给出软件的模块结构、编写总体设计说明书4.详细设计又称过程设计,这一步的工作,就是要对系统的每个模块给出足够详细的过程性描述。这种描述不是程序的书写,而是用一些工具来表示每个模块,所以这种描述是不能够在计算机上运行的。5.什么是Bug?Bug一词的原意是“臭虫”或“虫子”。现在泛指计算机硬件和软件中的缺陷或错误6.缺陷的特征:1、软件未实现需求说明书要求的功能2、软件出现了需求说明书指明不该出现的错误3、软件实现了需求说明书未提到的功能4、软件未实现需求说明书未明确提及但应该实现的目标5、软件难以理解、不易使用、运行缓慢等。7.为什么会产生缺陷?信息传递的错误1、用户想要的2、用户所说的3、需求人员理解的4、《系统需求规格说明书》5、开发人员理解的6、实际软件实际软件与用户想要的有偏差。38.缺陷的分布:第二个:2.8定律(60%需求20%设计)8.(15%编写5%其他)29.缺陷修复的成本需求设计设计阶段编码阶段支付阶段10.软件测试的模型:什么是软件测试的模型:测试模型是对测试工作活动的总结与归纳。它告诉了我们在软件开发过程中,测试人员应该做什么、怎么做。第一大关键问题V模型:最常见的测试模型:下降的是开发过程各阶段右边上升的是测试活动的各阶段局限性软件测试作为需求分析、概要设计、详细设计和编码之后的一个阶段,而前期需求的问题要到测试活动的后期(验收测试)才会暴露出来。W模型:是V模型的一种发展4它强调了测试应该伴随着整个开发周期,与开发同步进行。优点试的不仅仅是程序,需求分析和概要设计同样需要测试更符合“尽早地和不断地进行软件测试”的原则H模型:单元(模块)测试针对软件设计中最小的单位进行正确性校验集成测试在单元测试的基础上,将程序模块进行有序的、递增的组装测试11.单元测试:目标:检验程序最小单元有无错误(类、文件、窗口、菜单、报表或一个存储过程)·接口、数据结构、便捷、覆盖、逻辑检验单元编码与设计是否吻合依据:详细设计,编码方法:白盒测试测试执行人:开发工程师12.软件测试的分类-按开发阶段分验收测试:系统(确认)测试:SystemTesting测试两个或多个单元是为了验证和确认系统是否达到了用户的原始目标。检验组成整个系统的代码、以及系统的软硬件配合有无错误代码实现的系统与用户需求是否吻合检验系统的文档等各种是否完整、有效模拟验收测试的要求,检查系统是否符合用户的验收标准单元测试:UnitTesting检查应用程序的小单元和模块集成测试:IntegrationTesting测试整个系统系统测试:性能测试:所有的活动都作为性能测试的一部分执行,且与白盒测试紧密联系。彻底检5查并监控系统,通过所有可能的输入和预期的输出结果来测量系统可用性测试:检查输出结果和错误消息以判断其是否有意义、是否简单开发界面时要考虑用户的教育背景和理解能力GUI测试:窗体测试、空间测试、菜单测试图形用户界面是基础代码的前端,是用户和软件交互的工具配置和安装测试:检查软件安装,这个流程也判断系统是否能在不同的平台上安装或卸载恢复测试:有意使系统发生故障如果系统自我恢复,将确认重新初始化和检查点机制是否正确安全性测试:拒绝未经授权的访问都是经过身份验证的用户13.验收测试:又称交付测试,即当软件完成单元测试、集成测试、系统测试之后,我们依据软件需求规格说明书,对软件进行一次全面的测试,完成对软件整体质量的评估1.有效性测试是在模拟的环境运用黑盒测试的方法,验证软件是否满足需求规格说明书列出的需求。2.软件配置复查保证软件配置的所有成分都齐全,各方面的质量都符合要求,文档内容与程序完全一致。α测试:先在公司内部的环境上运行,由公司员工先试用,提出反馈意见和发现缺陷。β测试:让少数用户或者公司合作伙伴使用,提出反馈意见和发现缺陷。(微软和QQ)正式验收:用户根据验收测试报告独立完成或者在测试人员指导下完成。14.软件测试的分类-按测试实施者分:开发方测试开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。用户测试用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。第三方测试介于开发方和用户之间的测试组织的测试。15.软件测试的分类-按测试技术分:白盒测试通过对程序内部结构的分析、检测来寻找问题。黑盒测试通过软件的外部表现来发现其缺陷和错误。灰盒测试结合了以上两种测试方法。16.测试分类测试策略黑盒测试白盒测试手动测试自动测试静态测试动态测试6总结:第一章了解到了软件测试的概论那么这章了解到了软件测试的基础首先了解到得是软件生存周期模型,在了解软件生存周期模型上,了解到了什么是软件需求设计,概要设计,详细设计等软件测试?我们要发现的是什么?我们要发现的Bug。在了解Bug之后,必须要了解为什么会有Bug?它的特征是什么?分布?修复的成本那么我们怎么样能更加好的测试呢?由此引出了模型(V模型、W模型、H模型)软件测试的分类软件生存周期---软件需求分析---概要设计---详细设计Bug---为什么会产生---特征是什么---怎么分布的---修复的成本模型---V模型---W模型---H模型软件测试的分类---按开发阶段分(验收测试、系统(确认)测试、集成测试、单元测试)---按实施者分(开发方测试、用户测试、第三方测试)---按技术分(黑盒测试、白盒测试、灰盒测试)---测试策略(黑盒测试、白盒测试---手动测试、自动测试---静态测试、动态测试)软件测试功能测试用例设计1.测试用例的定义:测试用例就是记下我们要进行什么测试,进行测试的具体步骤,以及测试执行是否正确的标准测试用例是一个包含输入和预期输出并与实际输出有关的标志解决要测什么、怎么测和如何测的问题所有的预期输出缺一不可2.测试用例的用途和目的:执行测试,发现缺陷重新执行测试,重现缺陷管理测试过程回归测试,验证缺陷是否修复使测试更加方便的执行提高测试效率便于进行回归测试使测试过程更方便管理3.影响测试用例测试的主要因素需求目标用户实际使用场景7软件功能需求规格说明书测试的方法测试的对象4.测试用例的编写原则:准确性:测试用例的设计确实符合测试需求,并且必须准确地说明测试的内容简洁性:测试用例的设计中必须包含完成测试必要的步骤、要素,不需要加入多余的、可有可无的步骤、要素可重用性:测试用例的设计要求测试是可控的,它能够使任何人在任何时间进行测试都能获得同样的结果适用性:测试用例对于当前的测试环境和测试者而言是可以执行的纯净性:不会因为执行该测试用例而影响其它测试用例的执行,用例中应说明如何将应用系统恢复到最初状态,而不影响后续测试的进行。5.测试用例的编写有三种主要格式:Step-by-step(按步骤)Matrix(矩阵表)Automatedscript(自动化脚本)前两种是测试用例最基本的格式,最后一种是自动执行前两种测试用例的软件脚本。6.测试用例设计的方法:黑盒测试方法:1)等价类划分法2)边界值分析法3)场景法4)错误推测法5)因果图法6)判定表驱动法7)正交试验设计法8)功能图法白盒测试:1)语句覆盖2)判定覆盖3)条件覆盖4)判定/条件覆盖5)路径覆盖7.编写有效的测试用例使用合理的语言:测试人员该做什么,系统输出什么应该写得很清楚明白,也就是说首先要分清楚测试用例的输入和预期输出避免含义混淆,方法:在操作步骤中采用动词+名词的结构,动词总是测试人员要做得事情,名词总是测试人员操作的对象、事物制定命名规则,同一种事物只有一种名称使用模版:编写测试用例更方便提高测试用例的组织性8提供了标准格式统一美观有助于测试人员寻找信息能够包括很多有关测试过程的选项使用克隆:模仿某个测试用例来写别的测试用例某些用户手册中的步骤、文字也可以被克隆保存以前写过的测试用例,以便以后进行克隆Matrixes测试用例也可以克隆,特别是在表结构相同的情况下,只需要改变一些列的名称和值就可以测试用例的依赖关系:具有依赖关系的测试用例是一些需要依靠先前的测试用例执行的结果来执行的用例考虑是否真的需要其他的测试的结果作为数据输入,如果是,那么测试必需是累积的。应尽量避免这种情况,以免让测试变得繁琐保持测试用例依赖关系的正确性和一致性以一种合理的顺序来安排测试用例的顺序8.测试用例示例1.测试用例标识2.测试步骤3.输入4.预期输出5.实际输出6.特殊过程的要求7.与其他测试用例的依赖关系8.环境要求8.1硬件8.2软件8.3其他9.测试模板包含的内容项目名称程序版本测试坏境编制人编制时间功能名称功能特性测试目的预制条件参考信息特殊规程说明用例编号测试步骤边界值输入数据预期结果测试结果总结:为什么有测试用例?怎么样把它做到最好从测试用例的定义到怎么编写一个好的测试用例定义---用途和目的---编写原则---影响因素---编写格式---方法---有效的测试用例---测试用例的模板9最主要的是理解------方法软件测试功能测试用例设计(黑盒测试等价类方法)1.测试用例:预期输入不同就写一个测试用例2.黑盒测试内部实现不可见关注的只有输入和输出(这两个条件是否满足需求)3.黑盒测试发现的常见错误A.功能不正确或遗漏B.界面错误C.数据库访问错误D.性能错误4.黑盒测试的特点从理论上来讲,黑盒测试只有采取穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误实际上测试情况是无穷多的,完全测试是不可能的。如何解决把黑盒测试加以分类1、节约测试实施的时间和资源2、避免盲目测试、提高测试效率3、使测试的实施重点突出、目的更明确5.分类1、等价类划分法2、边界值分析法3

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

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

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

×
保存成功