软件测试基础知识总结.doc
《软件测试基础知识总结.doc》由会员分享,可在线阅读,更多相关《软件测试基础知识总结.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试基础知识总结软件测试基础知识总结一、什么是软件测试?1979年,myer:软件测试就是为了发现错误而执行程序或系统的过程。1983年,IEEE:软件测试即使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。二、现代软件测试活动的内容?制定测试计划、设计测试用例、实施测试、提交缺陷报告、测试总结三、软件测试的目的?GrenfordJ.Myers在TheArtofSoftwareTesting一书中的观点:1、测试是程序的执行过程,目的在于发现错误2、一个成功的测试用例在于发现至今未发现的错误3、一个成功的测试是发现了至今未发
2、现的错误的测试简单的说,测试的根本目的就是确保最终交给用户的产品符合用户的需求,在产品交给用户之前尽可能多的发现并改正问题。四、测试一般要达到的目标?确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明;确保产品满足性能和效率的要求;确保产品是健壮的和适应用户环境的。五、软件测试分类?1、按测试策略分类:a静态测试与动态测试静态测试定义:不运行被测程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。Ps:通过分析或检查源程序的文法、结构、过程、接口等来检验程序的正确性,找出缺陷和可疑之处,例如不匹配的参数、不适当的分支嵌套和循环嵌套、未使用过的变量、空指针的引
3、用等;可采用人工和软件工具进行;静态测试工具的代表:telelogic公司的logiscope软件、PR公司的PRQA软件等。静态测试特点:不必动态地运行程序,也不必进行测试用例设计和结果判断等工作;可由人工进行,充分发挥人得逻辑思维优势;不需要特别的条件,容易展开。静态测试要点:代码审查(codeinspection或codereview)、代码走查(walkthrough)、桌面检查、技术评审(软件需求分析和设计评审)、静态分析(使用软件工具,包括控制流分析、数据流分析、接口分析和表达式分析)动态测试定义:实际运行被测程序,输入相应的测试实例,检查运行结果和预期结果的差异,判断执行结果是否
4、符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。组成:构造测试实例、根据测试实例运行程序、分析程序的输出结果。主要方法:黑盒测试和白盒测试。动态测试特点:实际运行被测试程序,取得程序运行的真实情况、动态情况,并进行分析;必须生成测试数据来运行程序,测试质量依赖于测试数据;生成测试数据、分析测试结果工作量大,使开展测试工作费时、费力、费人;动态测试中涉及多方面工作,人员多、设备多、数据多,要求有较好的管理和工作规程。b黑盒测试和白盒测试黑盒测试(black-boxtesting)又称功能测试、数据驱动测试、基于规格说明书的测试。定义:测试者把被测程序看成一个黑盒
5、,不考虑程序的内部结构和特性,只需知道该程序输入和输出之间的关系和程序功能,依靠能够反映这一关系和程序功能的需求规格说明书,来确定测试用例和推断测试结果的正确性。白盒测试(white-boxtesting)又称结构测试、逻辑驱动测试、基于程序本身的测试。定义:从程序的内部逻辑结构入手,按照一定的原则设计测试用例,对软件的逻辑路径进行测试,在程序的不同点检查程序的状态,来判定其实际情况是否和预期的状态一致。规划方面适用范围优势缺陷黑盒测试针对功能的测试进行确认测试和系统测试时使用能确保从用户使用的角度出发进行测试无法测试程序内部特定部位;如果需求说明有误,则无法发现问题等价类划分(将所有可能的输
6、入数据划分为若干等价类,选择有代表性的当做测试用例进行测试);边界值分析法(对输入或输出的边界值进行测试);因果图法(利用图解法分析输入的各种组合的情况,从而设计测试用例的方法。“因”即输入条件,“果”即输出或程序状态的改变);比较测试法白盒测试针对结构的测试进行单元测试时使用能够对程序内部的特定部位进行覆盖测试无法检验程序的外部特性;无法对未实现规格说明的程序内部欠缺部分进行测试语句覆盖(程序中每条语句至少被执行一次);判断覆盖(或分支覆盖,程序中每个分支至少走查过一次);条件覆盖(判定式中若含多个条件,则每个条件的取值均要得到检验);判断/条件覆盖(同时考虑条件的组合值及判定结果的检验);
7、基本路径的覆盖(使程序沿所有可能的路径执行);循环覆盖;模块接口测试应用举例C手工测试与自动测试手工测试定义:由测试人员来执行测试用例,然后根据实际的结果去和预期的结果相比较并记录测试结果。手工测试时现在多数公司使用的测试形式。自动测试定义:引入自动测试工具。通常以手工测试为主,自动测试为辅。d冒烟测试(smoketest):在版本投入正式测试前,对其重要的步伐先进行大概的测试,看系统重要的功能是否正确,再进行彻底的测试。e回归测试(regressiontest):一段时间以后对以前修复过的缺陷重新进行测试,看该缺陷是否会重新出现。2、按测试阶段分类单元测试又称模块测试定义:针对每一个程序模块
8、进行正确性检验,检查各个程序模块是否正确的实现了规定的功能。如一个窗口、函数、菜单、报表或一个存储过程。依据是详细设计,应对所有重要的控制路径设计测试用例。集成测试又称综合测试。定义:在单元测试的基础上,将已经通过测试的单元模块按照设计要求组装成系统或子系统,再进行的测试。系统测试定义:是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。单元测试集成测试确认测试(有效性测试、软件配置审查)系统测试验收测试(以用户为主)测试类型单元测试对象模块内部的程序错误模块间的集成和
9、调用关系目的清除局部模块的逻辑和功能上的错误和缺陷找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题测试依据测试方法模块逻辑设计,大量采用白盒测模块外部说明试方法程序结构设计白盒与黑盒相结合的测试方法,较多用黑盒方法构造测试用例集成测试系统测试整个系统,包括系统中的软、硬件对整个系统进行一系系统结构设计,黑盒测试列的整体、有效性测试目标说明书,需求说明书3、其他常见测试方法功能测试(functiongtesting)又称正确性测试,软件的功能是否符合规格说明;性能测试(performancetesting),系统是否满足需求说明书中规定的性能,通常使用自动化测试工具;压力测试(s
10、tresstesting):检查系统在瞬间峰值负荷下正确执行的能力,通常用测试工具测试;负载测试(volumetesting):用于检查系统在使用大量数据时正确工作的能力;易用性测试(usabilitytesting):合理性、方便性;安装测试(installationtesting):对软件的全部、部分或升级安装/卸载处理过程的测试;界面测试:包括窗口测试、下拉式菜单和鼠标操作、数据项测试;配置测试(configurationtesting):主要检查计算机系统内各个设备或各种资源之间的相互连接和功能分配中的错误。包括验证全部配置命令的可操作性,软件配置,硬件配置,利用手动或自动方式惊喜配置
11、状态间的转换;文档测试(documentationtesting):文档的正确性、完备性、可理解性;兼容性测试(compatibilitytesting):产品在不同产品之间的兼容性;安全性测试(securitytesting):非法侵入的防范能力,已存在的安全性、保密性,有无漏洞;恢复测试(recoverytesting):容错能力,在指定的时间内修正错误并恢复正常,又不伤害系统。六:软件的开发周期(软件生命周期)和模型?瀑布模型:计划需求分析设计编码测试运行、维护严格按照固定顺序,每个阶段结束,经过项目小组审查,决定是否进入下一步。螺旋模型:确定目标、可选方案和现在条件指出并解决风险评估方
12、案本阶段开发和测试计划下一阶段确定进入下一阶段的方法(该过程重复进行)螺旋模型是瀑布模型的发展,较常用。七、软件测试生命周期?制定测试计划测试设计和开发实施软件测试评审版本发布八、什么是软件的缺陷(bug)?定义:在软件使用过程中所出现的任何问题,或者导致软件不能符合设计要求或满足消费者需求的问题。包括程序错误等等。九、书写缺陷报告的准则?保证重现缺陷;分析故障,使用最少步骤重现缺陷;包含所有重现缺陷的必要步骤;方便阅读(编号,分步骤);尽量简单(一个缺陷一个报告);注意语气。识别和判断缺陷的辅助工具:软件需求说明书、用户手册、联机帮助。十、bug的生命周期?有效地记录BUG;使用BUG模板;
13、评价BUG优先级和严重性;BUG的生命;维护BUG数据库。十一、bug的类型?软件没有实现产品规格说明所要求的功能模块;软件中出现了产品规格说明指明不应该出现的错误;软件实现了产品规格说明没有提到的功能模块;软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好。功能缺陷:规格说明书、能功、测试系统缺陷:内部接口、硬件、操作系统、软件结构、控制与顺序、资源加工缺陷:算术、初始化、控制与次序、静态逻辑、其他数据缺陷:类型、结构、初始值、其他代码缺陷:程序编写、文档、其他十二、bug中通常包含的内容?硬件平台和操作系统版
14、本Bug报告优先级Bug状态报告人reporter指定处理人assignedto概述summary邮件抄送列表CClist从属关系(bug“ID”dependson,bug“ID”block)附加描述additionalcomments十三、bug中的优先级的定义?优先级表示修复缺陷的重要程度和应该何时修复:1应立即修复的问题2在产品发布之前必须修复的问题3如果时间允许应该修复的问题4可以在发布版本中存在的问题缺陷的二八定理:一般情况下,在分析、设计、实现阶段的复查和测试工作能够发现和避免80%的缺陷,而系统测试又能找到剩余缺陷的80%,最后的4%的缺陷可能只有在用户大范围、长时间使用后才会暴
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 基础知识 总结
限制150内