【目的】
测试目的是一样的:为了查看功能需求是否完全实现,为了找到软件的缺陷,采取一些古怪的路径发现可能的缺陷。
【概念】
地标测试法:
将指南测试法及卖点测试法中的标记定义为一个地标,然后随机打乱这些地标的顺序,从一个地标执行到另一个地标来探索应用程序,直到访问了列表中的所有地标。
更多关注:
①功能间的交互
②系统测试
【示例】
本次我们以IOS浏览器中的“自动翻译”功能为例,该功能逻辑为:打开新网页时,判断页面英文文字比例,若满足一定条件时,则自动弹出“翻译询问浮层”,点击翻译按钮后,将网页中英文翻译为中文。
【标记地标】
结合指南测试法和卖点测试法,列举用户常用、有卖点且和翻译功能有相互影响的功能。
像游客游览一个城市一样,比如在北京,你可能会标记几个游玩的景点:长城,雍和宫,恭王府,故宫,颐和园,清华大学等等,他们具有一样的特性:重要,吸引人。
在使用自动翻译功能时,我列举了用户常使用的几个点,也是和翻译功能最有可能有交互甚至交互最多的几个点做为地标(这里依靠测试人员的经验和习惯,数量也根据你的时间进行评估选择):
对应下图蓝圈内的功能:
【设计地标用例】
设计用例时候需要注意:
注意要更换顺序
注意走遍全部地标
选择不同的起始点
在测试过程中考虑增加新的地标
示例
【执行并记录】
其实当用例结构够好,并经过适当的去重后,就实现了所有路径的覆盖。执行用例后,进行标记,防止重复执行。
发现的bug举例:
①地址栏→取消按钮路径
发现删除地址栏内容后,取消按钮点击失效了。
②网页工具→翻译条路径
分享出的网页再用IOS手机浏览器打开,不能进行自动翻译
③多标签→翻译条路径
多标签的网页,删除一些网页后,点击翻译无效
我们并不能完全依靠地标测试法来实现对软件功能完全测试的目的,但是地标测试法是一项非常重要的探索测试方法,依赖于你选择地标的数量,会很大程度的提高测试效率和覆盖度。