专栏首页用户6517667的专栏软件测试基础---流程和用例设计方法

软件测试基础---流程和用例设计方法

来源:http://www.51testing.com/

一、测试流程

  测试流程:需求分析-->编写测试计划-->测试设计-->测试执行-->测试结果输出

需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议。

  测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书制定项目总体计划,内容包括测试范围,环境资源的准备,进度安排,人力物力的分配,整体测试策略的制定,风险评估与规避措施有一个制定。

  测试设计阶段:主要是编写测试用例,会参考需求文档(原型图),概要设计,详细设计等文档,用例编写完成之后会进行评审。

  测试执行阶段:搭建环境,执行冒烟测试,然后按照测试用例进入正式测试,进行bug跟踪管理直到测试结束。

  测试结果输出:出测试报告,确认是否可以上线

  详细测试流程:了解用户需求-->参考需求规格说明书-->测试计划-->编写测试用例-->评审用例-->搭建环境-->冒烟测试-->执行测试用例-->bug跟踪处理-->测试报告输出-->版本上线-->上线验证-->面向用户

二、测试用例设计方法

软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果

  测试用例设计常用的7种方法:等价类、边界值、场景设计法、判定表、因果图、正交法、错误猜测法。

1.等价类

  等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。

  (1)有效等价类

  是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明所规定的功能和性能。

  (2)无效等价类

  指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能多个。

  设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

2.边界值

  边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

  与等价划分的区别:

  (1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

  (2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

3.场景设计法

  通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。

  基本流:是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)

  备选流:一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入到基本流中;(各种错误情况)

  场景法的运用:

  例:有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

  基本流

  备选流:1)进入购物网站,选择物品,登录账号,付费,生成订单

  2)账号不存在

  3)账户余额不足

  更多的备选流。

4.判定表

  判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。

  1)条件桩:在左上部,列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

  2)动作桩:在左下部,列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

  3)条件项:在右上部,列出针对它左列条件的取值。在所有可能情况下的真假值。

  4)动作项:在右下部,列出在条件项的各种取值情况下应该采取的动作。

  判定表的建立步骤:

  1)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。

  2)列出所有的条件桩和动作桩。

  3)填入条件项。

  4)填入动作项。得到初始判定表。

  5)简化.合并相似规则(相同动作)

  判定表实例:

  例1:思想品德好,身体好,学习好,全部合格才能成为三号学生,否则不能成为

  A.确定规则个数:3个条件,故规则个数=2^3=8

  B.得到条件桩和动作桩

  C.生成判定表

  例2:需要确保电脑有打印机的驱动,打印机正常工作、打印机的纸张充足、打印机墨粉充足才能满足打印。

  A.确定规则个数:4个条件,故规则个数=2^4=16

  B.得到条件桩和动作桩

  C.生成判定表

  *其中出现多个动作项的情况,按照最先触发的情况给出。

  D.简化

  1)在2/3/4/6/7/10/12/15列中,结果都为X2,所以只要C1=0,就用不管C2/C3/C4是什么,那么这几列就可以合并;

  2)在1/8/9/13列中,结果都是X3,所以只要C1=1,C2=0,就不用管C3/C4是什么,那么这几列就可以合并;

  3)在5/14列中,结果都是X4,所以只要C1=1,C2=1,C3=0,就不用管C4是什么,那么这两列就可以合并;

  化简后如下:

4.错误推测法

  错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。

  例如,输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

  例如,测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用例:

  1)无SIM卡插入时进行呼出(非紧急呼叫)

  2)插入已欠费SIM卡进行呼出

  3)射频器件损坏或无信号区域插入有效SIM卡呼出

  4)网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)

  5)网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字

  例如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

  1)输入的线性表为空表;

  2)表中只含有一个元素;

  3)输入表中所有元素已排好序;

  4)输入表已按逆序排好;

  5)输入表中部分或全部元素相同。

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:软件测试培训

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅析等价类划分技术设计测试用例

      目前IT行业发展的如火如荼,软件测试也是风声水起,如何提高测试效率已经成为了当前软件测试行业共同关注的难题。既要保证测试覆盖率,又要节省软件测试的时间,保证...

    小老鼠
  • 什么是测试惯例?如何打破测试惯例?

      日常测试中,作为测试人员,有了对产品、质量等熟悉到一定程度后,会给质量保证带来大大的好处。逐渐整个测试设计、测试执行过程会轻车熟路,并伴随有新鲜感渐失,思维...

    小老鼠
  • 如何才能设计出一个“好的”测试用例

      在正式开始讲解之前,先讲一下什么是“好的”测试用例,这个“好”又应该体现在哪些方面。这两个问题看似简单实则难以回答。你可能会说:“发现软件缺陷可能性大的测试...

    小老鼠
  • 【测试】软件测试知识点

    1.1 常见的软件测试模型有哪几种 1.2 简述软件测试V模型的流程 1.3 软件测试V模型的优点、缺点。 1.4 H模型诞生的背景 1.5 H模型示意...

    瑞新
  • 六种当前最为智能的无人机了解一下

    无人机的功能越来越强大,拍摄照片和电影制作并不是它们仅有的目的。其他领域也可以从中获益。让我们来看看现在六种无人机的优势,以便了解消费者级别和专业级无人机的未来...

    AiTechYun
  • 从TechRadar看UI自动化测试的未来

    在2017年第17期和2018年19期技术雷达中,分别出现了两个新的工具——cypress,testcafe,之前只接触过webdriver框架的同学可能会有些...

    ThoughtWorks
  • CTO大佬这半年填过的坑!

    转眼间,我加入这家创业公司已经半年了。这半年,每天都在亢奋和鸡血及疲惫的状态下度过。

    孙玄@奈学教育
  • 哪类人适合当产品经理?

    01.24-2018更新 //增加:5.0简化版建议,删除7.0杂谈

    天青色
  • 基于数组的程序设计方法----乒乓球抽取

    假定有10个乒乓球,每个乒乓球上写有一个数字,分别为1-10,然后放到一个箱子中,每次往外不放回的抽取一个乒乓球,记录乒乓球上的数字,直到抽完为止,用程序实现该...

    鲁郭大侠
  • guava:计算hash(md5,sha256,crc...)真是方便

    今天找到了guava计算md5的工具类,用起来真是很方便,返回结果可以用toString()转为String,也可以用asBytes()转为字节数组。 生成...

    用户1148648

扫码关注云+社区

领取腾讯云代金券