如何用白盒的手段,黑盒的思想进行软件测试

发表于:2012-12-26 14:42

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:MonkeyTest    来源:51Testing软件测试网采编

  前两天其实在网络讲课的时候,有很多同学也比较迷茫,不太理解我这个用白盒的手段,黑盒的思想进行测试。其实我觉得这种方法恰恰是在移动互联网最好的一种测试手段,也会是接下来测试业内测试人员必须会的一种手段。这样才能够做到真正的测试,这样才能够获取我之前所谓的数据。接下来的测试人员是和数据进行的一场战斗。第一步,已经认知到数据的重要性;第二步,知道获取什么数据,怎么过滤数据。第三步,知道用什么方法获取你想要的数据。而现在真正做到这三步的寥寥无几。

  那么废话不多,我来讲下昨天我在会上讲的例子。是我10年碰见的项目中一个比较棘手的问题,无论是当初的我,还是现在的我都很棘手。

  这里希望大家先看问题,思考之后再看我当初很挫的解决方案。问题是这样的,android平台当初我测试一个第三方的软件,该软件内有一个手机联系人的快速搜索匹配功能。其功能和匹配逻辑都是由我们自己实现的。希望达到的功能有两点,第一,一个人的姓名比如叫“小明”,那么用户可以通过姓名的正序匹配xiaoming,xm,ximin等等,倒序mx,mingxiao,minxi等等,这一系列的方式进行快速的搜索到联系人。第二,用户搜索之后,搜索的结果尽量让用户觉得自己想要找的名字在手机的前几页显示,以免用户翻很多页。大家可以先思考如果你要测试这样一个功能,你会怎么测试?考虑几个方面?PS:支持中文,德语,法语等十几个国家的姓名搜索。

  思考中。。。。。。。。。。。。。。。

  接下来我就介绍我当初做的很挫的方法。在会上有朋友提出,是否做这个测试之前需要和开发进行交流。我的答案是肯定的。不单单要和开发做交流,还需要好好了解这个功能的需求。当初我问开发和项目经理要了两样东西,第一个是该搜索功能的全部匹配模式列表。第二个就是各个匹配模式在code中的权重。

  接下来就是测试,第一步进行了网络上所有中文字的抓取,相当于准备好中文,英语,法语等各种语言组合的最基础的字符串。接下来的例子是中文,其他语言以此类推。然后我们可以写一个很简单的程序将这些基础的字符串组合,变成如下图,这些txt文件保存在android的assets文件夹中,方便android程序读取。

  第二步,在生成上图的这个联系人名称的同时,进行简单的case的生成。举例比如一个联系人叫做“王小二”,我设置了两个随机数,第一个随机数是用来取“wang xiao er”中从左往右连续的字的个数。第二个随机数是用来取每个字变成拼音之后的字符串的从左到右的连续的字符的个数。举例子来讲第一个随机数可能这里取出来的是“王小”,第二随机数取出来的是“wanx”。然后这个就是一份case了其实。如下图:

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号