谈到“漫游测试”,想必大多数人想起的都是James A.whittaker提出的全局探索性测试方法。他将软件测试比如为城市旅游,并划分了不同的区域(如:商业区、历史区、娱乐区等等),将测试人员比喻为旅游者进行城市旅游(软件探索)。
但是,我们不难发现,全局探索性测试是从软件或系统本身的角度进行功能划分,而模糊了不同测试人员的角色(如:团队测试人员、系统测试人员、测试经理等等)。
那么,如何从角色出发谈谈漫游测试呢?(本文灵感来源于《Google测试之道》)。
在《Google测试之道》一书中,通过实践案例(Chrome浏览器测试),将漫游测试划分为:购物漫游、学生漫游、国际长途电话漫游、地标漫游、通宵漫游、公务漫游、危险地带漫游、个性化漫游几种。
虽然这种划分方式与Google Chrome的业务息息相关,但我们仍然可以从其中受到一些启发。比如,从测试人员角色出发。
- “购物漫游”、“地标漫游”、“通宵漫游”、“危险地带漫游”、“个性化漫游”我们可以看作是旅行者(冒险者)的行为;
- “学生漫游”、“国际长途电话漫游“可以看作是学生的行为;
- “公务漫游”可以看作是差办人员的行为。
由此可见,针对不同的人员,测试关注重点和测试区域都有所不同。
旅行者
什么样的测试人员会是旅行者?对旅游城市(软件产品)有一定的了解,希望在一定时间内完成游览的人。
在我们的测试人员角色中,“旅行者”可以是团队测试人员,也可以是系统测试人员(某些公司会从测试任务范围来区分团队测试和系统测试)。
购物漫游
许多”旅行者“喜欢购物,会被各种新奇事物吸引。购物漫游邀请用户使用软件,在各种可能的情况下消费,体验软件的流畅性、功用性和友好性等。
我们可以把用户的所有输入行为看作是消费,而软件的所有输出结果当作是消费回报。购物场所则可以对应我们全局探索性测试中的商业区。
那么,我们可以采用什么样的探索性测试方法呢?我们可以用全局探索性测试中的测试方法”卖点测试法“。通过”销售人员“或”宣传单“介绍产品卖点,选择喜欢的产品(功能)进行“消费”(测试)。而期望的消费回报(结果输出)就是产品介绍中的功能或卖点。
举个例子:
1、ChatGPT当下正火,许多软件和小程序都号称自己已经“无所不能”,试试让他们续写一篇《红楼梦》。会不会出现“林黛玉倒拔垂杨柳”?
2)再比如51Testing网站首页的基础搜索框,提供了“帖子”和“用户”搜索,为什么按照“用户”搜索,需要登录?这个基础“卖点”与用户的消费期望完全不符。
地标漫游
“51特种兵旅游”火爆全国,有人5天攀了5座名山,这是如何做到的?设置地标,选择最优路线,然后达成目的。
那么,我们可以采用什么样的探索性测试方法呢?可以借鉴全局探索性测试中的“地标测试法”。设置地标,增删地标,地标间跳跃等。
举个例子:
1、以51Testing首页为例,设置首页地标“最新最热”、“积分商城”、“在线课堂”、“下载中心”,在地标间进行跳跃,查看是否正常。
或者,寻找“最新最热”地标到“下载中心”间的最短距离。
通宵漫游
赵雷的一首《成都》,唱火了成都的小酒馆。来成都旅游,会让人流连忘返,通宵达旦。
那么,对应到我们软件测试中,有哪些探索性测试方法呢?
通宵测试法是通宵漫游首选之法。“通宵测试法”可以选择长时间运行某个系统或软件,观察其在深夜或用户请求低情况下的运行情况。此外,常有许多定时任务会在深夜执行,通宵测试法可以观察这些任务的执行情况。
举个例子:
1、观察系统或软件在深夜升级情况;
2、测试软件的各项维护任务(将数据归档,备份文件等等)是否定时开启;
3、观察系统或软件在深夜用户请求低时的运行资源消耗。
危险地带漫游
旅游中,难免会遇到树立着”前方危险,请绕道“的牌子,但有个别旅行者还是喜欢冒险尝试。对于我们被测系统或软件中,有些出现过多次故障的区域和标记慎重使用的功能,是我们的危险地带。例如,权限测试中删除数据库表的功能。
那么,危险地带漫游测试我们可以使用那些探索性测试方法呢?极限测试法,你值得拥有。极限测试能够帮助我们挖掘许多潜藏的故障。
举个例子:
1、极限配置测试。如某项时间配置范围为00:00—03:00,试试00:00—03:01;
2、极限资源测试。如某组件需求运行内存是6G,在4G内存下运行试试。
个性化漫游
有的人喜欢去热门景点,但有的人喜欢去冷僻的景点,这与每个人的性格和爱好有关。在软件测试中,测试风格和测试方法也与测试人员的性格息息相关。
那么,对应到我们软件测试中,有哪些探索性测试方法可以使用呢?懒汉测试法、买一送一测试法、苏格兰酒吧测试法等等。
举个例子:
1、懒汉测试法
有的人旅游就想躺在酒店里,这就是俗称的“懒汉旅游”。对应到我们的软件测试中,我们可以相似地不做任何操作。选择默认配置,选择默认选项等等,观察系统或软件运行情况。
2、买一送一测试法
促销期是检验商户承接客户能力的重要时期。“买一送一测试法”我们可以同时打开多个客户端、开启多并发的形式,检验服务端的事务处理能力。
3、苏格兰酒吧测试法
许多人旅游一个城市,喜欢光顾酒吧等区域寻找创作灵感。“苏格兰酒吧测试法”启发我们,可以邀请用户参与产品体验,一起进行产品测试。比如,我们可以收集和积攒来自用户方的反馈和现场故障,建立知识库。
学生
什么样的测试人员会是学生?学生具有钻研性、创新性,对一个城市(产品)有比较长时间的了解。
在软件领域,很多人尝试使用新技术进行研究,增进他们对某个特定领域的理解。这个漫游测试就是鼓励用户做这样的事,充分利用和测试软件的各种功能来帮助达到获取和组织信息的目的。
所以下沉到开发团队的测试人员或非常熟悉系统/产品的测试人员可以是“学生”。
学生漫游
学生漫游的目的是学习和研究,增长见闻。那么,对应到我们软件测试中,有哪些探索性测试方法可以使用呢?
所有能够帮助我们探索软件、学习软件的方法都能为我们所用。例如,快递测试法、遍历测试法、博物馆测试法等等。
- 快递测试法让我们跟踪数据流转,观察数据变化和最终交付结果;
- 遍历测试法让我们走完每一条业务分支或代码路径;
- 博物馆测试法让我们关注代码中改动的区域,重点测试。
举个例子:
1、快递测试法
采用调用链工具或是观察日志打印,跟踪输入数据流转,在每个功能节点验证数据转换正确性(如类型变化,数值边界等)。
2、遍历测试法
梳理业务流程,遍历每一条业务线进行测试;梳理代码分支路径,针对if...else或switch等路径进行覆盖测试。
3、博物馆测试法
关注代码提交记录说明或对比代码变动区域,进行相关功能重点测试或者波及性测试。
国际长途电话漫游
留学在外,难免有学生想和家里联系。那么,打长途电话是一个很常见且普遍的方式。
但,仅仅是“打电话”这一个功能,我们仍然有许多选择方式。比如,街边的电话亭或者自己的手机等等。
同样的,在软件世界,即使是相同的功能,用户仍然有不同平台或不同权限的需要。比如,用户想在网易云音乐收听一首周杰伦的额《东风破》,可以选择app进行播放,也可以选择网站或电脑客户端进行播放。并且,因为版权问题,不同用户(购买VIP和没购买VIP的用户)能收听到的时长有限。仅仅由此,我们就可以看出一个权限测试和平台测试的内容。
那么,我们可以使用哪些探索性测试方法呢?超模测试法,配角测试法,长路径测试法等我们都可以使用。
举个例子:
1、超模测试法
观察“电话亭”的设计和颜色是否喜欢,是否与整个城市风格一致,观察软件产品颜色搭配是否符合企业文化(比如阿里巴巴喜欢的橘红)。
2、配角测试法
除了打电话,我们还可以试试电话亭或手机的其他功能,比如录音,关注和测试业务的辅助特性,比如51Testing首页的广告嵌入,试试点击是否能跳转。
3、长路径测试法
不要怕麻烦,走到城市另一个角落的“电话亭”打个长途电话,观察和欣赏下沿路风景,设定测试产品的入口和出口,选择一条最长路线达到,看看效率如何。
差办人员
什么样的测试人员会是差办人员?差办的主要目的就是完成工作,具有针对性和专一性。所以专项测试人员和测试经理可以看作我们的“差办人员”。
那么,我们可以使用哪些探索性测试方法进行测试呢?专项测试会是一个很好的选择。专项测试可以集中测试人员的思维,对于局部或区域功能进行中重点测试。
公务漫游
公办出差,完成工作是第一要务。如果有时间,可以在闲暇之余游览城市。所以,在我们软件测试时可以专项测试和其他探索性测试方法结合,但以专项测试为主。
举个例子:
专项性能测试
针对互联网产品,全链路压测是一个很值得推荐的专项测试。找出每个节点的性能瓶颈,并优化。
说了这么多,让我们总结一下。从角色出发的漫游测试,需要我们更加关注测试人员的角色分类,从而选择更加契合的测试方法,有的放矢。希望对正在阅读的您能有所启发~
FunTester原创专题推荐~
- 900原创合集
- 2021年原创合集
- 2022年原创合集
- 接口功能测试专题
- 性能测试专题
- Groovy专题
- Java、Groovy、Go、Python
- 单测&白盒
- FunTester社群风采
- 测试理论鸡汤
- FunTester视频专题
- 案例分享:方案、BUG、爬虫
- UI自动化专题
- 测试工具专题
-- By FunTester