首页新闻中心 →   技术交流

场景法—基于用户行为的测试方法

来源:睿世达   |   发布时间:2016-11-22 13:50:06

面试官在面试时问得最多的问题之一是关于XXX功能,你是如何测试的?很多测试小白面对关于某个功能如何测试时,感到非常苦恼。可见,关于某个功能如何测试,是软件测试的重点也是难点。

  从软件测试的定义与方法来看,软件测试就是将用户所有对软件的操作进行验证,如果没有错误,则可说明软件是正确的。因为我们有足够的理由告诉用户,他的操作是不会出现问题,因为我们做过相同的测试。

  但是这种穷举测试因为受制于时间、成本和资源是不可能完成的,所以我们需要使用等价类划分、边界值、因果图判定表、场景法、错误猜测等方法将无限的测试情形变成有限的测试用例。

  而本文主要探讨场景法,因为场景法是工作中最为常用的一种方法,是一种基于用户行为的测试方法,可以简单理解为:对于某个功能点用户可能执行的操作有哪些,测试就需要验证哪些,如果用户不可能有某个操作行为自然也不属于测试范围。

  如何使用用户行为分析法进行用例设计呢?

  我们常见的用户行为包括以下4个部分

  1.用户将使用进行正常操作

  2.用户使用该功能进行非法操作

  3.用户不仅关心功能的正确实现,还关心用户体验。

  4.某些特殊情况下的用户行为,如环境异常,用户并发等。

  场景法则一:有输入项的常规功能,只需要分析用户如何输入,会产生哪些操作场景即可设计出测试用例。

  例一:删除邮件

  从【删除】功能而言,用户可能选择一封邮件进行删除,也可能同时选择多封邮件进行删除操作,也可能会出现未选择邮件时误点击了删除按钮。基于这些用户操作,需要设计的测试用例如下:

  1.单选一封邮件进行删除

  2.多选若干封邮件进行删除

  3.直接点击全选框,是否会进行全选操作并全部删除

  4.不选择邮件,直接删除邮件,是否给出用户相应提示

  场景法则二:对于没有输入框的功能,也可以使用用户行为分析,分析会产生哪些使用场景来设计测试用例。

  例二:抽奖活动

  抽奖功能分析,通过点击转盘来得到相应的奖项。在这功能中,用户所中奖项是存在概率的,概率在该功能中犹为重要,其次可能存在多人同时摇转盘以及某个奖项没有了的情况。

  案例如下:

  1.并发多个用户,同时进行抽奖,存在中奖与未中奖的情况形成概率。

  2.某个奖项无奖品了,该奖项不再被用户中奖。

  3.中奖与未中奖给用户的提示信息

  4.中奖用户再度参与抽奖,其中奖概率是否降低的考虑

  5.……

  场景法则三:对于复杂业务,同样可以使用流程分析法进行分析与设计,按照用户对功能的使用场景分析即得到测试场景。

  例三:网上银行转账功能

图1:录入转账信息


图2:转账安全认证

  转账功能分析:

  通过选择付款账号、填写转账金额、输入收款账户(含收款账号、收款人姓名、开户行)以及其他附加信息(手机号、备注等),填写好之后,进入安全认证页面选择安全工具、填写安全密码,最后提交转账。

  测试分析与设计思路:

  1. 正常流程类设计(确保系统实现了业务需求)

  2. 异常流程类设计(确保边界等异常均做出了必要的限制)

  3. 其他考查点(如转账还会涉及手续费、汇路选择等)

  4. 输入框验证类

  5. 用户体验等非功能考查

  详细测试分析如下:

  1. 付款账号、金额、收款账号、安全认证全部输入正确的,可以转账成功

  1) 付款账号是借记卡,也可以是活期存折

  2) 金额在(0,余额]之内,同时需要对边界值进行设计

  3) 收款账号、收款人姓名、开户行需要全部对应

  4) 如果收款账号是行内账号,只需要进行账号与姓名的匹配即可,系统不再需要选择开户行信息

  5) 收款账号需要考虑:行内账号,跨行转账,同城、异地转账,借记卡、信用卡账号,同名账户(本人,本行)。转活期存折、转定期存折(变定期)转定期存单(不能)

  6) 安全认证:U盾(插入U盾输入密码),手机验证码(发短信到手机,输入验证码进行验证)


.......

QQ

1973313421

wx QQ
phone

0755-26497690

top 返回顶部