一个事例告诉你为什么要深入了解测试对象?

软件测试工程师都会问:“测试用例到底该如何设计?威慑呢么我设计的测试用例总会有遗漏?”必须说明的是,测试工程师些测试用例的目的是让产品尽可能的接近没有缺陷,接近用户心目中期望的完美产品,但也只能是接近,所以,遗漏是很正常的现象。我们要求劲量避免更多的遗漏,这就要求我们更多地去了解被测试对象的一切。
故事场景:假设我们现在需要测试一个移动端的输入法应用,需要支持10个国家的语言。那么,作为一个测试工程师应该如何进行测试用例的设计呢?
现在大多数测试工程师们关心的问题,有如下一些:
*自动化测试怎么做。
*性能测试怎么做。
*除了功能测试,还能做什么。
*要用什么工具吗?
一会说那个这些的确都是问题,但是最关键的问题却没有提出,那就是真正了解这个产品的一些基础的问题:
1) 产品有什么特点?
2) 产品所在的系统的结构?
3) 产品本身的系统架构?
4) 用户最关心产品的功能是什么?
现在让我们一个一个来解答看看。
第一个问题是:产品有什么特点?
回答:产品是移动端上的输入法。输入法最基本的特点莫过于每个国家键盘的布局、支持字母都不同。虽然产品在界面显示、其他附加功能上可以做个性定制,但是语言本身的特点是不会改变的。
第二个问题:产品坐在的系统结构?
回答:我们所要测试的产品所处的系统各式各样,有android、ios、windows phone、blackberry等。用户使用产品不会脱离所在的系统,那么我们就非常有必要去了解这些系统,比如,输入法安装对用来说和一般应用没有什么区别,而从测试的角度去看就要清楚地了解输入法的各种资源文件、.so文件保存在系统哪个文件夹中、结构的权限分别是什么等等。
第三个问题:产品本身的系统架构?
回答:输入法 本身是一个应用,但是在android系统中,输入法不是一个activity,而是一个service。在这个service中也许包含着若干个activity,比如设置界面等。对于测试工程师而言,需要清楚的知道这些内容。
第四个问题是:用户最关心的产品的功能是什么?
回答:这也是移动应用测试最应该关注的问题。就输入法而言,用户最关心的问题自然是取词是否又快又准、是否不必改变自己的输入习惯等等。这些看上去像是非常普通的需求,但是就现状而言,能够很好地满足广大普通用户的输入法应用真是不多。
让我们回到最开始的问题,自动化测试、性能测试、压力测试、持续集成固然很重要,但再怎么重要,测试工程师也要优先了解上述的4个问题。这样一来,摆在我们面前的问题就很明确了,无论你有多少年的工作经验,当面对自己不熟悉的测试对象的时候,都需要先问问自己了解多少。因此,在进行输入法应用测试之前,根据调查我们需要清楚以下几点:
1、 每种语言的输入法常用的布局有哪些?用户最常用的是那种?
2、 每种语言的输入法包含的基本字母有哪些?分贝有什么特征?比如希腊语就有两个字母大写一模一样。
3、 每种语言的输入法用户输入习惯有什么不同。比如阿拉伯语输入显示就是从右往左显示等。

posted @ 2018-05-17 18:41  IT媚娘  阅读(187)  评论(0)    收藏  举报