如何编写测试用例及测试规范.ppt

上传人:tia****nde 文档编号:12785713 上传时间:2020-05-24 格式:PPT 页数:44 大小:430.50KB
返回 下载 相关 举报
如何编写测试用例及测试规范.ppt_第1页
第1页 / 共44页
如何编写测试用例及测试规范.ppt_第2页
第2页 / 共44页
如何编写测试用例及测试规范.ppt_第3页
第3页 / 共44页
点击查看更多>>
资源描述
如何编写测试用例及测试规范培训,什么是测试用例呢?测试用例其实就是一个个你测试的想法,你有了这些想法以后,详细地写下来,就成了测试用例。,什么是测试用例:,测试用例有几个重要的组成部分:,(1)简明扼要的标题;(2)详细的步骤;(3)正确的预期结果。,我们还是通过一个例子来说明:,例如:我们在测试记事本的时候,有了一个想法:应当测试一下这个软件能不能编辑中英文混合输入的内容,如下图所示。为了准确地实现我们想要测试的思想,我们要把它写下来,并且写下的内容要让任何人来看都没有歧义。,测试用例:验证记事本程序可以编辑中英文混合的内容,测试步骤:1.运行记事本程序;2.切换到中文输入法,输入中文“学习编写”;3.切换到英文输入法,输入英文TestCase;4.保存文件,文件名为testcase.txt;5.关闭记事本程序;6.双击testcase.txt以打开文件。,预期结果:1.文件的内容是“学习编写TestCase”,如下图所示。,优先级:,测试用例还有一个优先级的概念,就是用来区分哪些用例更重要。一般可以分为5个级别,分别用0-4来表示,数字越小表示越重要。如果项目小,优先级的好处不容易显现出来。当项目比较大,时间又不宽裕时,可能只能执行更重要的测试用例,这个时候优先级的重要性就体现出来了。,大家也看到了,其实写测实用例并不难,但是它仍然容易出一些问题,例如:(1)含混不清或者与内容不相符的标题。例如,上面的例子,如果用例叫“验证记事本可以编辑内容”,这个标题就没有准确表达出测试用例的实际内容。(2)过于简单的步骤。这是一个容易犯的错误,很多朋友在编写用例的时候,总是写得很简单,例如上例中的多个步骤可能就会变成惟一的一步:“输入学习编写TestCase”,如果不是作者本人,其他人来看,肯定会引起歧义,怎么输入,是用键盘还是用拷贝的方法?那么写测试用例要详细到什么程度?就是让一个不了解你的工作的人来看,如果他的理解和你一样,说明你已经表达清楚了。(3)没有写明预期结果。这是个严重的问题,如果没有预期的结果,那什么是对的什么又是错的呢?如果对错都分不清楚,做测试的意义又是什么呢?(4)多个用例混在一个用例中。这也是刚入门的朋友容易出现的“好心办坏事”的情况,把测试用例写得特别长,包括了很多内容,这样很容易引起混淆,不如分开。而且,如果有多个用例混在一起,你的用例标题怎么写?另外,如果其中有几个用例通过,而另外几个没有通过,这时测试的结果很难记录,无论是把这个大的用例记录为通过或者不通过都不合适。,上面列出来的几个问题,大家可以尽量避免。实际上,写测试用例最难的地方是,如何把测试用例写得全面?这只能靠实践经验的积累了。你看完这节文章以后,可以拿记事本这个程序来练练,学着写几个测试用例,“看花容易绣花难”,所以要多试试。,如何执行测试用例:,虽然在上一节中我们讨论了如何编写软件测试用例,但如果你真是一位软件测试的入门者,你到单位报到后接手的第一项工作很可能是执行软件测试用例,而不是去编写。你不要因此而郁闷,这样的安排是合理的,因为你毕竟是个新手,执行软件测试用例是一个迅速熟悉当前测试工作的好机会,而且压力不大。因为在英语中执行测试用例是runcase,所以有些公司把执行测试用例叫做“跑case”,想来也很形象。这也可以算是一种行话,你可以了解一下。,为方便讨论,我们以上节中的测试用例为例:,测试用例:验证记事本程序可以编辑中英文混合的内容。测试步骤:1.运行记事本程序;2.切换到中文输入法,输入中文“学习编写”;3.切换到英文输入法,输入英文TestCase;4.保存文件,文件名为testcase.txt;5.关闭记事本程序;6.双击testcase.txt以打开文件。预期结果:1.文件的内容是“学习编写TestCase”。,当我们面对这个用例的时候,我们首先要做的是清晰且正确地理解用例,不带半点含糊。测试的特点就是严谨,你来执行一个测试用例就是要贯彻用例编写者的测试思想,不能有误解或曲解,不能用自己的主观意志去代替原来的意思。例如,第一步“运行记事本程序”,你就应当清楚地知道“记事本”是哪个程序,如果有疑问马上问清楚,否则,如果真的把测试的产品都弄错了,一切就都白忙了,还浪费了时间。这个例子因为浅显,所以出现误解的可能性很小,而在实际的工作中,还是会有很多模棱两可的地方,这个时候我们不能偷懒,要勤学多问。,执行用例不能走样。例如,上例中的第二步,要求输入“学习编写”四个字,如果你为了省事,拷贝了这几个字,每次都是粘贴过来,快是快了,却违背了“原著”的意思,这样是不可以的。用例编写者要求用输入法来输入,肯定是有道理的。如果你发现没有检测“粘贴”的测试用例,可以建议增加,但不能在执行的时候就偏离了用例的本意。说一个万一的事儿,如果这个软件通过了你的测试,发布给用户,用户却发现不能输入,只能粘贴,这个责任你能负得起吗?,大家可能都知道,做软件测试要细心,这个要求在执行用例的过程中表现得很明显。我们在执行一个测试用例的时候,不但要注意实际结果是否与预期结果是一致的,而且在整个过程中都要保持观察。例如上例中,如果第四步执行保存后,你发现文件名并不是自己输入的testcase.txt,这时你就应当停下来,因为这就是bug。,我们执行测试用例的目的是什么?就是发现bug,所以,我们在执行测试用例的过程中,要收集好发现的问题,不能有遗漏。在实际工作中,执行测试用例的过程一般都是紧张的,工作量很大,并不像我们今天在这里讨论的这么轻松,因为你要不停地往前赶,所以容易出现一些遗漏的问题。每当发现一个问题,我们都要做好记录,而不要总以为自己能记得住,好记性不如一个烂笔头。Bug是最能证明测试工程师工作成绩的东西,好不容易发现了,如果还被自己遗漏了,岂不令人懊悔?而且,还给产品留下了一个隐患。,测试用例编写规范:,目的统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量。使用范围适用于对产品的业务流程、功能测试用例的编写。,测试用例编写原则:,系统性1、对于系统业务流程要能够完整说明整个系统的业务需求、系统由几个子系统组成以及它们之间的关系;2、对于模块业务流程要能够说明清楚子系统内部功能、重要功能点以及它们之间的关系;,测试用例编写原则:,连贯性1、对于系统业务流程来说,各个子系统之间是如何连接在一起,如果需要接口,各个子系统之间是否有正确的接口;如果是依靠页面链接,页面链接是否正确;2、对于模块业务流程来说,同级模块以及上下级模块是如何构成一个子系统,其内部功能接口是否连贯,测试用例编写原则:,全面性1、应尽可能覆盖程序的各种路径2、应尽可能覆盖系统的各个业务3、应考虑存在跨年、跨月的数据4、大量数据并发测试的准备5、系统中各功能、业务的异常情况,测试用例编写原则:,正确性1、输入用户实际数据以验证系统是否满足需求规格说明书的需求。2、测试用例中的测试点应保证至少覆盖需求规格说明书中的各项功能。,测试用例编写原则:,符合正常业务惯例1、测试数据应符合用户实际工作业务流程2、兼顾各种业务变化的可能3、要符合当前业务行业法律,法规。,测试用例编写原则:,仿真性人名、地名、电话号码等应具有模拟功能,符合一般的命名惯例。,测试用例编写原则:,容错性(健壮性)程序能够接收正确数据输入并且产生正确(预期)的输出,输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示并进行相应处理。,测试用例设计方法:,等价类划分法:将所有可能的输入数据(有效的和无效的)划分成若干个等价类。,测试用例设计方法:,边界值分析法:指对输入的边界条件进行分析,设计出针对边界值的测试用例。,测试用例设计方法:,因果图法:就是利用图解法分析软件输入(原因)和输出条件(结果)之间的关系,以设计测试用例的方法。因果图法适合于检查程序输入条件的多种情况的组合,并最终生成判定表,来获得对应的测试用例。,测试用例设计方法:,功能图法功能图是描述程序状态变化、转移的过程,因为软件运行或操作的过程可以看作是其状态不断发生变化的过程。测试用例的设计就是如何覆盖所有软件表现出来的状态,即在满足输入/输出的一组条件下,软件运行是一系列有次序的、受控制的状态变化过程。,测试用例设计方法:,错误推测法推测法主要依赖经验、直觉来作出简单的判断甚至是猜测,给出可能存在缺陷的条件、场景等,在找到缺陷后,设计出相应的测试用例。,测试用例设计方法:,正交实验设计方法主要步骤是:(1)对软件需求规格说明中的功能要求进行划分(层层分解与展开),分解成具体的、相对独立的基本功能。(2)根据基本功能的质量需求,找出影响其功能实现的操作对象和外部因素,每个因素的取值可以看作水平,多个取值就存在多个水平。(3)确定待测试软件中所有因素及其权值,这是测试用例设计的关键,确保全面、准确。权值是依据各因素的影响范围、发生的频率和质量的需求来确定的。(4)加权筛选,生成因素分析表。(5)利用正交表构造测试数据集,正交表的每一行,就是一条测试用例。考虑交互作用不可忽略的处理因素和不可混杂的原则,有交互作用的组合优先安排。利用正交实验设计方法设计测试用例,可控制生成的测试用例数量,覆盖率高且测试效率高。,测试用例设计方法:,接口间测试测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。,测试用例设计方法:,数据库测试依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行测试。,测试用例设计方法:,可理解(操作)性理解和使用该系统的难易程度(界面友好性)。,测试用例设计方法:,可移植性在不同操作系统及硬件配置情况下的运行性。,测试用例编写规范:,测试用例命名规则以功能模块和业务流程进行命名。,测试用例编写规范:,用例编号规则:以测试模块名称的第一个字母进行命名(大写),若测试模块名称比较长时,可进行简写。一般简拼不超过5个字母:如:测试模块为“用户管理”,功能编号为“YHGL”测试模块为“行政单位管理”,功能编号为“DWGL”功能编号规则直接以001、002、003.,测试用例编写规范:,测试用例文档书写内容1、被测试对象的介绍2、测试范围与目的3、测试环境与测试辅助工具的描述4、功能测试用例主要元素,测试用例编写规范:,前置/操作描述:1、前置条件(可选):系统权限配置或前、后台配置描述(所有进行操作的前提条件)。2、操作:测试的操作步骤描述。功能点:功能点描述。输入数据:前期数据准备。预期结果:描述输入数据后程序应该输出的结果。测试结果:描述本条用例的实际测试情况,并判断实际测试结果与预期结果的差别。Bug编号/Bug简要描述:需要进流程的对应事物流程的编号,及简要说明备注:测试过程中遇到的问题等情况说明。,编写用例注意事项:,功能检查1、功能是否齐全,例如:增加、删除、修改,查询条件是否合理,用户使用是否方便2、功能是否多余3、功能是否可以合并4、功能是否可以再细分5、软件流程与实际业务流程是否一致6、软件流程能否顺利完成7、各个操作之间的逻辑关系是否清晰8、各个流程数据传递是否正确9、模块功能是否与需求分析及概要设计相符10、批量增加、批量修改,增加、修改等录入比较频繁的界面或录入数据量较多的界面,是否支持全键盘或全鼠标操作,并且使用通用的键实现数据字段的有序切换,编写用例注意事项:,面向用户的考虑1、操作方便性,如:按键次数是否最少,并不以开发实现技术限制为限制,而是以用户使用方便性和应用软件约定和通常的快捷键来实现提出合理建议2、易用性,面对用户的操作是否简单易学3、智能化考虑4、提示信息是否模糊不清或有误导作用。错误信息是否有用户语言风格的出错后续处理建议提示5、要求用户进行的操作是否多余,能否由系统替代。系统升级后,用户能否不做任何操作自动进行所有升级的数据、环境等准备工作,包括删除缓存等动作6、能否记忆操作的初始环境,无需用户每次都进行初始化设置7、是否不经确认就对系统或数据进行重大修改8、能否及时反映或显示用户操作结果9、操作是否符合用户习惯,比如:热键10、各种选项的可用及禁用是否及时合理11、某些相似的操作能否做成通用模块,编写用例注意事项:,数据处理输入数据1、边界值2、大于边界值3、小于边界值4、最大个数5、最大个数加16、最小个数7、最小个数减18、空值、空表9、极限值10、0值11、负数12、非法字符13、日期、时间控制14、跨年度数据15、数据格式16、数据之间的关联性、逻辑性,数据范围、格式限制是否合乎日常情理,如年龄不应为负数,身份证位数必须为15或18位且与性别严格相关联,与生日可以有区别(考虑到阴历阳历的问题)但不相同时给予提示,私人电话号码的长度且国内电话只能有数字及短横线标识区号等,编写用例注意事项:,数据处理1、处理速度2、处理能力3、数据处理正确率4、计算方式及计算结果准确性,数字精度的取舍问题,汇总数据与分项数据累加的误差问题,编写用例注意事项:,数据处理输出结果1、正确率2、输出格式3、预期结果4、实际结果,金额数字的可能要验证小写大写的一致性,大写可能要测试多种金额的大写,包括没有整数的情况下,没有小数的情况下,带整数和小数的情况下,执行测试用例是一个很好的学习机会。你可以在工作之余,去体会测试用例编写者的测试思想,而测试思想对于测试工程师来说是最重要的。你可以想一想,哪些测试用例是自己没有想到的?测试用例编写者的思维主线是什么?经过这样的琢磨,你对测试工作就会有进一步的认识和体会。你还可以尝试着去扩充测试用例,这是一个锻炼和提高自己测试能力的好方法。,谢谢观赏,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!