下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试
测试的基本理论及方法测试的基本理论及方法对软件测试的误解如何理解软件测试软件测试的定义软件测试的对象软件测试分类和比较软件测试的目的软件系统的主要测试内容及技术对软件测试的误解如果发布出去的软件有质量问题,那是软件测试人员的错.软件测试技术要求不高,至少比编程容易多了.软件测试随便找一个能力差的人就能做.有时间就多测试一些,来不及就少测试一些.软件测试是测试人员的事,与开发人员无关.设计-实现-测试,软件测试是开发后期的一个阶段如何理解软件测试软件测试是一种有效的提高软件质量的手段,但即使在投入上有所保证,测试也不能百分为百发现所有质量隐患.况且软件质量并不仅仅是测试出来的.很多人认为软件测试就是运行一下软件,看看结果对不对.但实际上,如何在有限的投入下,提高软件测试的效率和产出是一件很见功底的事.好的测试人员不仅要掌握各种测试技术,还要具备丰富的编程经验和对BUG的敏感测试不是可有可无,随心所欲的.规范化的软件开发需要对软件测试早做计划,分配必要的时间,人力和财力等资源,并将其作为项目管理的一个部分加以控制和协调.开发和测试是软件项目相辅相成的两个过程,人员间的交流,协作和配合是提高整体效率的重要因素.软件产品开发完毕,再进行测试的观念是有悖于生命周期理论的.软件产品质量问题越晚发现,修复的代价越大.需求设计编程内部测试外部测试发布修正BUG的代价一些常识和经验之谈测试能提高软件的质量,但是提高质量不能依赖测试。
测试只能证明缺陷存在,不能证明缺陷不存在。“彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试。我们应当祈祷:软件的缺陷在产品被淘汰之前一直没有机会发作。测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试。每个开发人员应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)。80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”。软件测试的定义软件测试是为了发现错误而执行程序的过程软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程.软件测试不等于程序测试.软件测试贯穿于软件定义和开发的整个期间.需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象.软件测试的对象软件生存各个阶段间的确认和验证
测试的目的测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于发现至今未发现的错误;一个成功的测试是发现了至今的错误的测试.测试的种类名称说明黑盒测试基于软件需求,而不是基于软件内部设计和程序实现的测试方式。白盒测试基于软件内部设计和程序实现的测试方式。单元测试主要测试软件模块的源代码。一般由开发人员而非独立测试人员来执行,因为测试者需要懂得该单元的设计与程序实现,测试者可能需要编写额外的测试驱动程序。集成测试将一些“构件”集成一起时,测试它们能否正常运行。这里“构件”可以是程序模块、客户机-服务器程序等等。功能测试测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。一般由独立测试人员执行。系统测试测试软件系统是否符合所有需求,包括功能性需求与非功能性需求。一般由独立测试人员执行,通常采用黑盒测试方式。回归测试指错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的困难在于不好确定哪些内容应当被重新测试。验收测试由客户或最终用户执行,测试软件系统是否符合需求规格说明书。名称说明负载测试测试软件系统的最大负载,超出此负载软件可能会失常。压力测试概念上与负载测试相似,叫法不同。性能测试测试软件在各种状况下的性能,如在正常或最大负载下的状况。易用性测试测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评价易用性。安装与反安装测试测试软件在“全部、部分、升级”等状况下的安装/反安装过程。恢复测试测试该系统从故障中恢复过来的能力。安全性测试测试该系统防止非法侵入的能力。兼容性测试测试该系统与其它软件硬件兼容的能力。比较测试通过与同类产品比较,考察该系统的优点、缺点。Alpha测试一种先期的用户测试,此时系统刚刚开发完成。Beta测试一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。测试的分类与比较测试方式白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档测试阶段单元测试、集成测试、系统测试、验收测试。是“从小到大”、“由内至外”、“循序渐进”的测试过程,体现了“分而治之”的思想。
单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设计”又要验证“需求”。
系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。
开发与测试的V型关系如果软件开发过程采用严格的瀑布模型,那么开发与测试有“V”型的对应关系。需求开发
高层设计详细设计编程单元测试集成测试系统测试验收测试测试内容功能测试、健壮性测试、性能测试、用户界面测试、压力测试、可靠性测试测试阶段
主要依据
测试人员、测试方式
主要测试内容
单元测试系统设计文档由开发小组执行白盒测试
接口测试、路径测试
集成测试系统设计文档需求文档由开发小组执行白盒测试和黑盒测试
接口测试、路径测试功能测试、性能测试
系统测试需求文档由独立测试小组执行黑盒测试
功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试
验收测试需求文档由用户执行黑盒测试
黑盒测试与白盒测试的比较测试方式特征依据测试人员测试驱动程序黑盒测试只关心软件的外部表现,不关心内部设计与实现。软件需求任何人(包括开发人员、独立测试人员和用户)一般无需编写额外的测试驱动程序白盒测试关注软件的内部设计与实现,要跟踪源代码的运行。设计文档由开发人员兼任测试人员的角色需要编写额外的测试驱动程序软件系统的主要测试内容及技术功能测试健壮性测试性能测试用户界面测试压力测试可靠性测试软件系统的主要测试内容及技术功能测试功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望的相同。如果两者不一致,即表明功能有误。也有例外的情况,如《需求规格说明书》中的某个功能写错了,而实际上软件的功能却是正确的,这时要更改的是《需求规格说明书》。功能测试看起来比较简单,只要看得懂《需求规格说明书》,谁都会做。难点在于如何构造有效的输入。由于输入空间通常是无限的,穷举测试显然行不通。那么随便输入一些东西,碰运气行不行?功能测试的方法功能测试有两种比较好的测试方法:等价划分法和边界值分析法。何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合测试经验丰富的前辈们告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对个中边界情况设计测试用例,可以查处更多的错误等价类的原则1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。等价类的原则4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。等价类的原则举例1:如有些密码框的输入要求,包含字母,数字,取值不能小于8或者6个字符并且不能超过12或者14个字符等条件的限制,来确定有效等价类和无效等价类举例2:如邮件格式,当我们注册一个邮箱时,需要输入有效的格式,注册USER用户命的过程中必须包含“@”和“.”这两个字符,并且“@”在“.”前面,有效格式必须遵守邮件格式进行注册,所以分为有效输入值和无效输入值举例3:如删除联系人,勾选后选择是否删除等情况边界值分析方法的原则1、如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据;2、如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;3、如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;4、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。边界值分析方法的原则举例1:存储UIM卡联系人姓名,不能大于7个中文字符,当输入大于7个中文字符串的时候,观察手机联系人应用程序是否会做出正确判断,给出正确的提示举例2:UIM卡存储联系人不能大于250个容量限制举例3:如拍照,当手机内存和SD卡内存满时,点击拍照按钮会否提示内存已满等情况健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。容错性测试通常构造一些不合理的输入来引诱软件出错,例如:(1)输入错误的数据类型。如“猴”年“马”月。(2)输入定义域之外的数值。如上海人常说的“十三点”粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬外,什么招术都可以使出来。例如在测试客户机-服务器模式的软件时,把网络线拔掉,造成通信异常中断。恢复测试重点考察一下几项:(1)系统能否重新运行;(2)有无重要的数据丢失;(3)是否毁坏了其它相关的软件硬件。健壮性测试目标当在进行安装或组装操作过程中,文件丢失时或发生意外后系统有能力重新进行操作如何使用程序的安装,运行方式,工具的使用和关键技术经过足够的评估系统开发完毕后,介绍一下发生失败后的处理过程例子人为的使一个系统在安装或者组装过程中产生错误什么时间去使用当操作的连续性是个重点的时候性能测试性能测试即测试软件处理事务的速度,一是为了检验性能是否符合需求,二是为了得到某些性能数据供人们参考(例如用于宣传)。有时人们关心测试的“绝对值”,如数据送输速率是每秒多少比特。有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍。在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。例如网络环境、计算机主频,总线结构和外部设备都可能影响软件的运行速度。
性能测试技巧目标确定系统达到了希望达到的性能水平如何使用使用软件和硬件的监视器使用模拟的监控模型,对关心的性能指标进行监控创建一个小程序用户界面测试绝大多数软件拥有图形用户界面。图形用户界面的测试重点是正确性、易用性和视觉效果。在评价易用性和视觉效果时,主观性非常强,应当考虑多个人的观点。用户界面测试用例的参考模板:
压力测试压力测试也叫负荷测试,即获取系统能正常运行的极限状态。了解“极限”是很有价值的,例如潜艇下潜极限深度…。压力测试的主要任务是:构造正确的输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省-2023年-网格员-上半年笔试真题卷
- 高原病科发展规划
- 卓越研究生英语(理工篇)综合教程2 课件 B2U1 Manufacturing the future
- 数字创意产业的发展空间考核试卷
- 天然气管道改造工程合同
- 商业综合体建筑临建合同
- 保险公司财务会计聘用协议
- 楼宇自动化玻璃钢施工合同
- 大型设备承运商管理办法
- 外语培训机构全职教师协议
- 耳穴压豆治疗糖尿病
- (2024年)计划生育完整版课件
- 国际关系理论智慧树知到期末考试答案2024年
- (2024年)冠心病的诊断和规范化治疗
- 卡西尼卵形线在高考中应用
- (高清版)TDT 1068-2022 国土空间生态保护修复工程实施方案编制规程
- 2023年-2024年应急救援员(五级)理论考试题库(含答案)
- 支委会报告对某某同志的审查情况【6篇】
- 机电安装给排水基础知识及识图课件
- 2024建筑消防设施检测报告书模板
- 丝巾出口方案
评论
0/150
提交评论