软件测试资料的识别.docx
《软件测试资料的识别.docx》由会员分享,可在线阅读,更多相关《软件测试资料的识别.docx(93页珍藏版)》请在三一文库上搜索。
1、目录一软件测试从零开始51. 1引言62. 2测试准备工作61. 2.1向有经验的测试人员学习61.2.2阅读软件测试的相关书籍61.2.3走读缺陷跟踪库中的问题报告单61.2.4走读相关产品的历史测试用例71.2.5学习产品相关的业务知识71.3识别测试需求71.3.1主动获取需求71.3.2确认需求的优先级81.3.3参加开发小组的邮件群组81.3.4与开发人员为邻81.4测试用例设计91.4.1测试用例的根本格式91.4.2重用同类型工程的测试用例91.4.3利用已有的软件Checklist101.4.4加强测试用例的评审101.4.5定义测试用例的执行顺序101.5测试用例执行101.
2、5.1搭建软件测试环境,执行测试用例101.5.2测试执行过程应注意的问题111.5.3及时更新测试用例111. 5.4提交一份优秀的问题报告单111.6测试结果分析121.7总结12二软件测试的常识122.1引言122. 2软件测试常识132. 2.1测试是不完全的(测试不完全)132. 2.2测试具有免疫性(软件缺陷免疫性)132. 2.3测试是“泛型概念(全程测试)132. 2.480-20原则142. 2.5为效益而测试142. 2.6缺陷的必然性142. 2.7软件测试必须有预期结果142. 2.8软件测试的意义-事后分析142. 2.9结论:15三浅谈软件开发中的重点事项153.
3、1工程设计153. 2设计变化和需求变化153. 3代码编写163. 3.1源程序文件结构163. 3.2界面设计风格的一致性163. 3.3编辑风格163.3.4命名标准173. 4BUG修补173. 5开发人员的测试17四软件测试的若干问题174. 1前言185. 2博弈的各方186. 3测试的过程187. 4测试所具备的素质198. 5自动化测试199. 6测试的误区19五浅谈功能测试用例模板设计1910. 1Excel模版2011. 2测试用例状态转换分析21六如何提高软件质量2212. 1什么是质量2213. 2流程对质量的奉献2314. 3流程与技术2515. 4全面质量管理251
4、6. 5关注测试2717. 6成功的铁三角2718. 7国际上流行的质量标准2819. 8如何起步29七ISO和CMM,我们该选择谁2920. 1管理水平的适用性3021. 2复杂度的适用性307. 2.1何谓研发过程复杂度308. 2.2何谓组织机构复杂度307. 3量化管理的适用性上317.4结论32八如何做好单元测试328.1前言328. 2组织结构应该保证测试组参与单元测试338. 3加强单元测试流程标准性338. 3.1制订单元测试的过程定义338. 3.2单元测试工作产品必须纳入配置管理348. 3.3必须制订覆盖率指标和质量目标来指导和验收单元测试348. 3.4加强详细设计文档
5、评审358. 4单元测试者技能的提高358. 4.1加强对单元测试人员的技能培训358. 4.2必须引入工具进行辅助368. 4.3单元测试者加强对被测软件的全面了解368. 5结尾36九漫谈人机界面测试369. 1一致性测试3710. 2信息反应测试379.3界面简洁性测试389.4界面美观度测试389.5用户动作性测试389.6行业标准测试399.7小结39十基于Web的系统测试方法3910.1功能测试4010.1.1链接测试4010.1.2表单测试4010.1.3Cookies测试4010.1.4设计语言测试4110.1.5数据库测试4110.2性能测试4110.2.1连接速度测试411
6、0.2.2负载测试4110.2.3压力测试4110.3可用性测试4210.3.1导航测试4210.3.2图形测试4210.3.3内容测试4210.3.4整体界面测试4210.4客户端兼容性测试4310.4.1平台测试4310.4.2浏览器测试4310. 5平安性测试4310.6总结43十一为盈利而测试44U.1引言4411.2什么是软件测试4411. 3六个误区4511. 3.1误区一:无视对正常输入的测试4511. 3.2误区二:无视设计阶段的参与与评估4512. 3.3误区三:无视测试方案与测试文档的建立及维护4511. 3.4误区四:无视缺陷的分析,报告及跟踪4511. 3.5误区五:错
7、误的测试目标及测试终止条件4512. 3.6误区六:不懂得合理调配使用测试人员的知识技能结构4611. 4软件质量与软件测试4611. 5软件测试的经济目的48U.5.1满足用户需求,提高产品的竞争力,最终提高产品的销售量4811.5.2尽早发现缺陷,降低后继质量本钱4811.6何时应当停止测试50十二整体性能测试剖析51十三性能测试工具之研究5513.1性能测试的意义5513.2性能测试工具综述5613.3性能测试工具的体系架构5713.4虚拟用户产生器Vugen5813.5Proxy二次捕获的问题5913. 6关联的问题6014. 7脚本的问题6215. 8Conductor和Player
8、局部6316. 9Conductor和Player的技术要点6317. 10数据分析工具Analysis6413. 11结束语64十四性能测试原理及性能测试实例分析6414. 1软件测试中的性能测试6414. 1.1性能测试的含义6514. 1.2性能测试的分解6514. 2一个性能测试实例6514. 2.1被测系统6514. 2.2对被测系统进行性能测试6718. 5总结70十五软件GUl测试中的关注点7119. 1不能不说的二个问题7115.1.1软件测试中的“二八原则7115.1.2软件黑盒测试解决的问题7115.2软件黑盒测试常见错误类型及说明7215.2.1用户界面错误7215.2.
9、2功能性7215.2.3人机交互7315.3命令结构和录入7715.3.1不一致性7715.3.2最优化7715.3.3菜单7815.4遗漏的命令7915.4.1状态转换7915.4.2危机预防7915.4.3由用户进行的错误处理8015.4.4其他问题8015.5程序僵化8115.5.1用户可调整性8115.5.2控制方式8215.6性能8215.6.1降低程序速度8315.6.2缓慢回应8315.6.3如何减少用户吞吐量8315.6.4反应拙劣8315.6.5没有提前输入8315.6.6没有给出某个操作会花很长时间的警告8315.6.7程序太多提示和询问8415.6.8尽量使用简单命令和提
10、示8415.7输出8415.7.1不能输出某种数据8415.7.2不能重定向输出8415.7.3与一个后续过程不兼容的格式8415.7.4必须输出的很少或很多8415.7.5不能控制输出布局8415.7.6荒唐的精度输出级别8515.7.7不能控制表或图的标记8515.7.8不能控制图形的缩放比例8515.8错误处理8515.8.1错误预防8515.8.2错误检测8615.8.3错误恢复8615.8.4边界相关的错误8715.8.5计算错误8815.9小结88十六软件测试技术8816.1软件测试基础8916.1.1测试目标8916.1.2测试原则8916.1.3可测试性9016.2测试用例设计
11、9116.3白盒测试9216.4根本路径测试9216. 4.1流图符号9217. 4.2环形复杂性9318. 4.3导出测试用例9319. 4.4图矩阵9516.5 控制结构测试9516. 5.1条件测试9517. 5.2数据流测试9718. 5.3循环测试9816.6 黑盒测试98一软件测试从零开始【摘要】本文面向软件测试新手,从测试前的准备工作、测试需求收集、测试用例设计、测试用例执行、测试结果分析几个方面给出建议和方法。鉴于国内的软件开发、测试不标准的现状,本文为软件测试新手提供了若干个软件测试的关注点。【关键词】软件测试、测试用例、测试需求、测试结果分析1.1引言几年前,从学校毕业后,
12、第一份工作就是软件测试。那时候,国内的软件企业大多对软件测试还没有什么概念,书店里除了郑人杰编写的计算机软件测试技术之外,几乎没有其它的软件测试相关书籍,软件测试仅仅在软件工程的教材中作为一个章节列出来,因此,我对软件测试一无所知。不过,在正式走上工作岗位之前,公司提供了为期两周的系统的软件测试技术专题培训,对接下来的软件测试工作有很大的指导意义。现在,我继续从事软件测试的培训与咨询效劳,在这个过程中,亲眼目睹了很多软件测试新手面对的困惑,他们初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。下面针对上述情况,给出若干解决方法。1.2测试准备工
13、作在测试工作伊始,软件测试工程师应该搞清楚软件测试工作的目的是什么。如果你把这个问题提给工程经理,他往往会这样答复:“发现我们产品里面的所有BUG,这就是你的工作目的。作为一名软件测试新手,如何才能发现所有的BUG?如何开始测试工作?即便面对的是一个很小的软件工程,测试需要考虑的问题也是方方面面的,包括硬件环境、操作系统、产品的软件配置环境、产品相关的业务流程、用户的并发容量等等。该从何处下手呢?1.2.1向有经验的测试人员学习如果你进入的是一家运作标准的软件公司,有独立的软件测试部门、标准的软件测试流程、软件测试技术有一定的积累,那么,恭喜你!你可以请求测试经理委派有经验的测试人员作为你工作
14、上的业务导师,由他列出软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,在业务导师的指导下逐步熟悉软件测试的相关工作。其实,在很多运作标准的软件公司,已经把上述的师父带徒弟的方式固化到流程中。如果你进入的是一个软件测试一片空白的软件企业,那么,也恭喜你!你可以在这里开创一片自己的软件测试事业,当然,前提是老板确实认识到软件测试的重要性,实实在在需要提高产品的质量。这时候,可以到国内的软件测试论坛和相关网站上寻找软件测试资源,这种情况下,自学能力和对技术的悟性就至关重要了。1.2.2阅读软件测试的相关书籍现在,中文版的软件测试书籍越来越多,有的是国人自己写的,有的是翻译
15、国外经典之作。可以到或者等网络购书的站点查找软件测试相关的书籍。目前,从国外引入的软件测试书籍有很多经典之作,但是,翻译成中文后,翻译质量对阅读效果有很大的影响。1.2.3走读缺陷跟踪库中的问题报告单如果您所在的公司已经有软件缺陷跟踪库了,无论采用的是商用工具,如ClearQuestTestDirecter等工具,还是采用的Bugzilla、Mantis等开源工具,这都无关紧要,缺陷跟踪库中的缺陷报告单才是有价值的。缺陷跟踪库中的问题报告单是软件测试工程师工作绩效的集中表达,同时也是软件产品问题的集中表达。一般来说,缺陷报告单中最关键的几个局部包括:第一局部是发现缺陷的环境,包括软件环境、硬件
16、环境等;第二局部是缺陷的根本描述;第三局部是开发人员对缺陷的解决方法。通过对上述缺陷报告单的三个局部作仔细分析,不知不觉你已经吸收了其他软件测试人员的工作经验,并掌握了软件产品常见的根本问题。这是迅速提高软件测试经验的好方法。1.2.4走读相关产品的历史测试用例如果你所在的公司有测试用例管理系统,那么,走读相关产品的软件测试用例是迅速提高测试用例设计水平的一条捷径。走读测试用例也是有技巧的。测试用例写作一般会包括测试用例项和根据测试用例项细化的测试用例,下面举例说明。“测试用户登录的功能是一个测试项,该测试项的目的是测试用户登录功能是否正确,是否能够完成正常的登录功能,是否能够对非法用户名和密
17、码做异常处理等等。因此,根据该用例项,可以设计出若干个测试用例,大多数情况下,测试用例项和测试用例是一对多的关系。通过走读测试用例工程,你可以掌握应该从哪些功能点着手未来的测试工作;通过走读软件测试用例,你可以了解如何根据被测试的功能点开展软件测试用例的设计工作,包括如何确定测试用例的输入、测试用例的操作步骤和测试用例的输出结果等。总之,走读其他软件测试人员设计的优秀软件测试用例,是提高自身用例设计水平的好方法。1.2.5学习产品相关的业务知识软件测试人员不仅要掌握软件测试技术相关知识,对产品相关的业务知识也要学习。这很好理解,如果从事财务软件的测试工作,一定要学习财务知识;如果从事通讯产品测
18、试工作,那么相关的通讯理论知识也是必须的;如果从事银行软件的测试,银行的业务流程也是不可或缺的知识点。因此,在学习软件测试技术的同时,千万不要忽略产品相关业务知识的学习。如果你是一个软件测试技术专家,但是对产品业务知识一无所知,那么也只能测试出来纯粹的软件缺陷,而面对眼前出现的产品业务相关的缺陷,很可能是视而不见,如此这般,软件测试的效果会大打折扣。1.3识别测试需求识别测试需求是软件测试的第一步。如果开发人员能够提供完整的需求文档和接口文档,那固然好。可以根据需求文档中描述的每个功能工程的输入、处理过程和输出,来设计测试用例。如果开发人员没有提供软件需求文档,那该如何是好?下面给出几个有效的
19、方法:1.3.1主动获取需求开发人员通常不会更好地考虑软件测试,如果没有开发流程的强制规定,他们通常是不愿意提供任何开发文档,即便有强制规定,需求文档也未必能够真正指导软件系统测试工作。因此,需要测试人员发挥主观能动性,与相关的软件开发工程经理和软件开发人员保持沟通,了解软件实现的主要功能是什么,并记录得收集到的信息。一般来说,开发人员即便没有提供相关需求文档,也会保存一些简单的过程文档,主动向开发人员索要这些文档,可以作为测试的参考。止匕外,可以与公司的技术支持人员交流,技术支持人员是最贴近用户的人,因此,通过交流可以获取第一手的用户使用感受,在测试的过程中会更加贴近用户。当拿到相关的资料后
20、从哪些方面分析需求?如何与开发人员交流需求?其实,只要把握需求分析的几个关键的点就可以解决问题:输入、处理过程、输出、性能要求、运行环境,下面针对每一个工程逐一分析:软件输入:与该需求相关的一切可能输入,可以从这几方面考虑,输入来源、输入参数的数量、输入参数的度量单位、输入参数的时间要求、输入参数的精度和输入参数的有效输入范围。在测试用例设计中,这局部内容作为测试用例输入的依据。处理过程:描述对输入数据所执行的所有操作和如何获得输出的过程。测试人员了解处理过程即可,在测试过程中发现BUG时候,如果对处理过程了解的深入,对定位问题根源有很大的帮助。软件输出:描述每个需求的输出结果,包括输出的位
21、置(如计算机显示器、打印机,文件),输出参数的数量、输出参数的度量单位、输出参数的时序、输出参数精确度、输出参数的有效输出范围、错误消息。在测试用例设计中,这局部内容作为测试用例的预期输出。性能要求:与该需求相关的性能要求,比方“插入ATM取款卡后,3秒钟内弹出提示用户取款的图形界面。3秒钟这一限制,就是对需求的根本性能要求。运行环境:软件的运行所需的环境,包括硬件平台的要求、操作系统的要求、数据库的要求,以及其它相关支撑软件的要求。1.3.2确认需求的优先级确认需求的优先级是很必要的,如果在产品进度比较紧的情况下,测试人员可以考虑优先测试优先级高的需求项,如果进度允许,那么在测试优先级低的需
22、求项,如果进度不允许,那么就放弃测试优先级低的需求项。如果软件公司有标准的流程支撑,开发人员在提供软件需求文档的时候,应该在文档中确定需求的优先级。但是,如果开发人员连根本的软件需求文档都没有提供,又怎能指望他们确定软件需求的优先级?如果是这样,需求的优先级只能由测试人员完成了。1.3.3参加开发小组的邮件群组测试人员需要通晓被测试产品,但是,产品在开发的过程中往往是不断变化的。如果软件开发团队有一套变更控制流程,测试人员会对产品的变更了如指掌。如果没有变更控制,那就要采用其他的土方法了。如果公司里面有自动化办公系统,也许采用的是LotusNotes系统,也许使用的是E-mail系统,测试人员
23、应该参加到开发人员的邮件群组中。当开发人员通过邮件讨论问题、通知召开技术会议的时候,测试人员可以及时知晓,如果必要,可以参加开发人员的技术会议。即便公司里面有了软件变更控制流程,参加到开发邮件群组也是一个很好的习惯。1.3.4与开发人员为邻建议测试人员与开发人员为邻。我所在的测试组曾经与开发组是在相邻的写字间里,开发人员与测试人员的关系非常融洽,抛去同事关系,大家还是不错的朋友。不管开发人员有什么样的活动,测试人员都能第一时间获得信Mo无论从事软件测试工作,还是从事其它的工作,与工作中上下游环节的同事保持良好的个人关系对工作有很大便利。一般的公司内部都存在部门墙,良好的人际关系是打通部门墙的手
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 资料 识别
