实用软件测试指南.doc
《实用软件测试指南.doc》由会员分享,可在线阅读,更多相关《实用软件测试指南.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用软件测试指南北京吉威数源信息技术有限公司信息工程事业部2008年4月29日版本历史时 间人 员备 注2006.2.13张政、陈进2008.4.29魏春萍将人机界面测试纳入常用测试方法,见2.3.1将常见缺陷及解决方法中的内容合并到该文档中,见第四章目 录第一章目的11.1拟写背景和说明11.2参考资料2第二章软件测试基础知识22.1什么叫软件测试22.2软件测试人员的思维方式32.3常用测试方法32.3.1人机界面测试32.3.2健壮边界值测试52.3.3回归测试52.4软件测试工作的输出62.5软件测试过程6第三章测试过程中的几点要求63.1明确期望结果63.2多参考其他系统,提出优化建
2、议73.3不断学习,培养严谨、细致的工作习惯73.4建立最短、最快的反馈环路73.5注意边界值83.6观察数据库记录的实际变化是否正确83.7注意测试流程83.8前提条件不满足导致异常8第四章测试细则94.1界面设计细则94.1.1主窗口94.1.2弹出窗口124.1.3鼠标状态154.1.4消息提示框154.1.5输入框164.1.6下拉选择框164.1.7树形控件164.2非缺陷实例174.3常用的测试输入操作204.4白盒测试20第一章 目的1.1 拟写背景和说明本文档在软件开发及测试实践经验的基础上,结合大量的测试方面的参考书籍,在精简与实用的指导思想下进行编写。对于具体的测试要求与测
3、试流程,我们的原则是:实用第一。也就是说,如果某项内容是目前条件下可实行的话就纳入,达成共识,并坚定不移的执行;如果目前条件不具备,则决不采纳,以免流于形式,待条件成熟时再逐渐改善。虽然本文对一些基础知识进行了介绍,但并不完整、也不详细,仅是从满足目前基本测试方法培训的需要而编写的,只是冰山一角而已。应进一步阅读软件测试及质量保证方面的各种书籍,以获得完整的,更深入的软件测试方面的知识。对于有志长期从事软件质量保证与测试方面工作的读者,建议在有生之年尽快通读所有这方面的书籍,并积极投身于具体实践,不断总结提高。软件开发人员通过了解基本的测试理论及方法,也有利于提高软件开发水平与效率、提交更高质
4、量的成果。1.2 参考资料 部门ClearQuest的Bug记录软件测试的经验与教训软件测试基本理论软件测试活动规范软件测试基本内容软件测试的理论和实践软件回归测试及其实践国标测试分析报告(GB856788)国标测试计划(GB856788)第二章 软件测试基础知识2.1 什么叫软件测试关于软件测试的定义有很多,如软件测试就是使用系统、可控的手段对软件进行破坏的过程。再如,软件测试就是校验软件是否满足要求标准的过程等等。2.2 软件测试人员的思维方式为了对软件进行更有效的测试,测试工作者应采用什么样的思维方式?程序员在编码实现功能的过程中,首先考虑的都是合乎情理的输入和操作,得到正确的结果,然后
5、处理其他所有无意义的情况。而测试人员则需要尽可能的设想一些不合情理的操作,测试者常常采用与系统设计实现人员不同的逻辑及执行路线来对软件进行测试,比较极端的如连续反复打开同一个对话框100次、启动软件或操作软件的过程中突然拔掉网线。再如:一个简单的弹出式对话框,包括一个文本框,两个按钮“确认、取消”。程序员设计时最直接想到的,常规正确的操作方式是文本框输入值、点确定,计算结果输出,点取消,窗口关闭退出。但测试人员还应该想到其它一些“不尽情理”的操作,例如文本框输入了数值后点“取消”,没有输入任何值而直接点“确定” 或者进入界面之后直接点击“取消”等等。所以不按设计者预先考虑好的正常路线、逻辑或内
6、容对被测软件进行各种输入,是软件测试人员应掌握的最基本的思维方式与技巧还有就是探索式测试能力,就是结合各种测试手段,通过细致的观察输入与输出,通过类推、积极思考,来窥探可能存在的逻辑缺陷,把握其规律。很多掩藏较深、不易复现的缺陷,需要测试人员具备一定的探索式测试能力才能解决。2.3 常用测试方法基于不同的分类标准,测试方法有很多,这里不进行列举,下面只对目前我们用到的主要方法进行说明,在后面的章节,将对具体测试的内容与方法进行详细的列举:2.3.1 人机界面测试我们知道:“不立规矩无以成方圆”。在软件界面设计强调张扬个性的同时,我们不能忘记软件界面的设计先要讲求规矩简洁、一致、易用,这是一切软
7、件界面设计和测试的必循之道,是软件人机界面在突出自我时的群体定位。美观、规整的软件人机界面破除新用户对软件的生疏感,使老用户更易于上手、充分重用已有使用经验,减少使用错误。由此我们在对软件人机界面进行测试时(设计评审阶段和系统测试阶段结合进行),不妨从下列一些角度测试软件的人机界面。1) 一致性测试一致性是软件人机界面的一个基本要求。目的是使用户在使用时,很快熟悉软件的操作环境,同时避免对相关软件操作发生理解歧义。这要求我们在进行测试时,需要判断软件的人机界面是否可以作为一个整体而存在。下面是进行一致性测试的一些参考意见:a) 提示的格式是否一致;b) 菜单的格式是否一致;c) 帮助的格式是否
8、一致;d) 提示、菜单、帮助中的术语是否一致;e) 各个控件之间的对齐方式是否一致;f) 输入界面和输出界面在外观、布局、交互方式上是否一致;g) 同一层次的文字在同一种提示场合(一般情况、突显、警告等)在文字大小、字体、颜色、对齐方式方面是否一致。2) 信息反馈测试假设系统的使用者是一个初出茅庐的生手,这要求我们的人机界面有足够的输入检查和错误提示功能。通过信息反馈,用户得到出错提示或是任务完成的赞许之语。下面是这类测试的一些参考意见:a) 系统是否拒绝客户的错误输入并做出提示(例:弹出警告框,声响);b) 系统显示用户的错误输入的提示是否正确,浅显易懂(例:“ERR004”这样的提示让人不
9、知所云);c) 注意系统界面中是否存在错别字(例:“请选则删除的文件!”其中的“则”应改为“择”);d) 系统在界面(主要是菜单、工具条)上是否提供突显功能(比如鼠标移动到控件时,控件图标变大或颜色变化至与背景有较大反差,当移动开后恢复原状)。3) 界面简洁性测试a) 用户界面是否存在空白空间(没有空白空间的界面是杂乱无章的,易用性极差);b) 各个控件之间的间隔是否一致;c) 各个控件在垂直和水平方向上是否对齐;d) 菜单深度是否在三层以内(建议不要超出三层,大家可以参考微软的例子);e) 界面控件本身是否需要通过滑动条的滑动来显示数据(建议采用分页显示并提供数据排序显示功能)。4) 用户动
10、作性测试a) 是否允许动作的可逆性(Undo,Redo);b) 系统的反应速度是否符合用户的期望值;c) 不同显示分辨率下窗体内容是否正确;d) 缩放窗体,窗体上的控件是否随着窗体而缩放;e) 用户在使用时任何时候是否能开启帮助文档(F1);f) 系统是否提供模糊查询机制和关键字提示机制减少用户的记忆负担(地名查询的模糊设定);g) 是否采用相关控件(如:日历,计算器等)替代用户手工键盘输入;h) 选项过多的情况下是否采用下拉列表或者关键字检索的方式供用户选择;i) 系统出错是是否存在恢复机制使用户返回出错前状态(如:Office XP的文件恢复);j) 在用户输入数据之前,用户输入数据后才能
11、执行的操作是否被禁止(如特定的按钮变灰)。2.3.2 健壮边界值测试采用略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值等共7个值进行测试。如取值区间为min,max,可用公式表示如下:min-、min、min+、normal、max-、max、max+. 上面描述是针对数值型、日期型的输入,对于其他类型,可依照处理,可能会有所取舍,如:对于字符型,则将值对应成字符串的长度即可对于列表框、下拉列表等控件,则将值对应成控件中的列表项。2.3.3 回归测试在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修
12、改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身,从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。同样,在有新代码加入软件的时候,除了新加入的代码中有可能含有错误外,新代码还有可能对原有的代码带来影响。因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来
13、测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。2.4软件测试工作的输出一般软件测试输出的主要成果是测试用例与缺陷报告。由于我们对于测试用例还没有找到合适有效的方式来编写、使用和管理,所以暂不采用,缺陷报告是目前是测试工作的主要输出成果。2.5软件测试过程软件测试是驱动软件开发过程的两大源动力之一,所以需要将软件测试活动与软件开发活动进行有效的结合,对测试的活动过程要进行设计与管理。目前的测试过程是按照 提交代码-测试记录发现的缺陷修复缺陷提交修改后的代码验证修复 做为基本流程来开展测试活动的。当然,这个基本流程中间,测试人员还需要进行阅读需求、设计文档,与开发人员沟
14、通等等其他活动。在软件测试过程中,对于基本的、常见的界面布局及输入控制等缺陷可以很容易的进行快速测试并得到结果,而对于模块的功能性的验证,则需要测试人员预先了解被测模块的设计目标,所以测试人员最好能在模块的需求分析与设计阶段就能有一定程度的参与。另外,目前我们使用ClearQuest、SourceSafe进行软件测试过程的辅助管理。第三章 测试过程中的几点要求3.1 明确期望结果了解系统功能,对系统的每一个功能按钮和菜单测试之前都应该先有一个明确的期望结果。试想一下如果自己都不明确什么是正确的结果,也就无从谈错误的概念了,同时由于程序员本身对需求理解可能有偏差,实现过程也可能引入更多的偏差,所
15、以测试人员在测试之前既要同程序员交流,了解他们的设计思路和期望输出结果,也需要从具体的功能需求出发(例如各种需求分析文档),更直接的了解功能设计上的期望结果。3.2 多参考其他系统,提出优化建议除了直接引起系统崩溃和功能异常的各种错误和Bug以外,在测试的过程中还需要测试人员能够多站在用户的角度去考虑系统在易用性、合理性和界面设计方面的欠缺,给程序员提供建议,以便能够不断的完善和优化系统。举例来说: 系统构建平台中的用户管理功能,管理员应该设置为保留用户不能删除。 系统构建平台中数据目录管理中图层属性缺省设置哪几项更便于用户使用。 在动态表单的设计中,某字段设置了他的关联字段后则字段类型也应该
16、默认保持一致。 制图输出界面,颜色选择框,字体类型和大小选择框和当前添加或者选中的文字、元素的状态的关联。从以上例子中我们可以看出,这些bug记录都不属于程序编码错误引起异常的范畴,但测试人员可以通过学习oracle系统的用户管理功能,ArcMap的制图部分,向系统设计人员了解关联字段的具体涵义和用途,了解业务上最基本的图层属性设置,从而发现和提出这些问题。即使有时候这些问题可能并不合理,或者存在技术实现方面的困难,或者是测试人员自己对需求和业务的理解偏差。3.3 不断学习,培养严谨、细致的工作习惯对被测系统进行深入的了解,多参考其他系统,增广知识,积极思考,培养严谨、细致的工作习惯,这样才能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 软件 测试 指南
限制150内