如何开展业务测试?

如何开展业务测试?

1、需求测试:对需求设计的正确性、合理性、实施性进行测试,尽早发现需求中的问题并跟进解决。

 

2、设计测试:测试人员的设计除了常规的测试计划、测试用例、测试准备等工作外,应包含对系统的设计。设计测试应注重检查系统设计的3个特性,必要性、正确性、最优性。

 

3、过程测试:  

 (1)分层测试

  分层测试强调的是测试的层次感。读者可能有过这种感觉,有层次感的面包比一般的面包口感更好。笔者所在的部门通过分层测试的思想将整个被测系统按照DATA层、API层、UI层进行分割,这样做的优势是什么呢?   

  测试提前介入是所有项目都提倡的,目的是把问题拦截在前期,降低问题修复成本。分层测试不依赖于完整系统,可以通过直接调用底层接口进行测试,这样就不需要等到整个系统开发完成才能测试。其实,分层测试的思想和自底向上的系统开发模式是不谋而合的;分层测试同时能够体现出精准:我们都知道,离问题产生的地方越近,就越容易触发问题。分层测试的切入点就是层与层之间的接口,从机制上更接近出问题的地方,因此也更容易命中目标,也能直接或间接地降低修复成本。   分层测试中的分层示意图如图1-4所示。   

  1)DATA层测试:数据层测试首先对数据库中原始数据及聚合数据的准确性进行验证,如精度、数量、存储有无丢失等,在保证这一层质量后进入下一层测试。   

  2)API层测试:首先需要强调,接口测试也是功能测试的一部分,通过接口调用验证服务器返回数据是否准确,服务端可能会将数据进行运算后返回,通过接口层验证保证数据传输的准确性,保证接口层通过后进入下一层测试。   

  3)UI层测试:通过覆盖系统所有逻辑路径保证数据展示层的正确。  

(2)外部解耦   

  外部依赖有时是阻碍测试进度的一个主要原因,但是一个系统的运行往往离不开外部系统的依赖,如网络环境、消息依赖和数据依赖等。测试过程中如何降低系统间的耦合度是能否高效进行测试的关键。笔者所在部门通过MQ(Message Queue, 消息队列)消息自动发送组件模拟外部依赖消息,可以解决消息依赖,降低耦合度,该工具适用整个笔者所在部门的业务,如利用该工具模拟机票业务出退票消息,成功摆脱消息依赖,使测试效率及准确性大大提升。   

(3)流程仿真   

  在系统测试过程中,往往有些极端情景或流程很难模拟,或者由于测试环境、数据量不足等原因导致无法进行模拟,但是这些情景或流程有时又非常重要,这就造成测试覆盖不全的情况发生。笔者所在部门通过穿线测试理论得到灵感,将流程主信息进行标记追踪,根据不同情况将流程引导至我们设定的极端情况中,覆盖极端情况,验证系统处理能力,很好地解决了这一难题。  

5.界面测试   

  界面是电商网站与用户交互的最直接的层,界面的好坏决定用户对网站的第一印象。而设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势,设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反,设计失败的界面,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中"付诸东流"。   既然界面的好坏如此重要,那么在测试过程中界面的测试就变得不可或缺。在具体的工作中,界面的测试应该关注哪些点呢?界面测试如图1-5所示。  

(1)导航测试   

  导航一般位于页面顶部或侧边区域。导航的作用是链接站点内的各个页面。导航测试可以从以下4个方面进行。  

  1) 导航是否直观?是否易于导航?   

  2) 导航、链接、页面的结构和风格是否一致?   

  3) 导航文字是否用词准确?意义表达是否简单和准确?   

  4) 链接的页面是否准确?   

(2)图片测试   

  图片测试包含图片、动画、边框、颜色、字体、背景和按钮等。图片的测试可以从以下3个方面进行。   

  1) 需要保证图片有明确的用途,如广告宣传作用,不能存在没有意义的图片。   

  2) 所有页面中的字体和颜色及页面的设计格式要保持一致。   

  3) 图片的质量与大小也是需要关注的点。   

(3)内容测试   

  内容测试是检验页面内提供的信息的准确性、正确性与相关性。内容测试可以从以下两个方面进行。   

  1) 要验证传输的信息是可靠的。   

  2) 要验证传输的信息语法和拼写是否正确。   

(4)展示测试   

  展示正确性测试是检验页面上所有展示的内容是否正确,大小是否合适,是否符合普适的行为习惯。展示正确性测试可以从以下4个方面进行。   

  1) 验证提示语是否合理、正确。   

  2) 验证窗口调整大小后展示是否正确。   

  3) 验证本地化是否正确。   

  4) 验证标题、错别字检查。   

(5)合理性测试   

  合理性测试可以从以下3个方面进行。   

  1) 验证页面布局是否合理。   

  2) 验证各控件是否合理、是否可编辑。   

  3) 验证提示页面是否合理。   

结合笔者所在团队的实际情况,团队的目标是要能够快速反应,支持业务快速迭代,同时要把测试人员从繁重的重复工作中解放出来,为内外提供赋能,提供好的测试平台、好用的测试工具和高效的测试方法等,这就对测试人员提出了一些新的要求。   

1.编写代码能力   

  具备编写代码能力能够提高测试效率,独立或者辅助开发人员定位问题,而不是只报告问题,这也有助于帮助测试人员了解程序过程,完善思维方式,提升测试形象。   

2.工具思维与工具开发能力   

  具有工具思维可以帮助测试人员敏锐地发现可以节省人力的工作点,具备工具开发能力可以真正实现在繁重的重复工作中解放自己。   

3.持续的学习能力,学会思考   

  持续学习不仅仅是一种态度,更是一种能力。持续学习新的技术和新的思想,了解新的动态趋势等,能够帮助测试人员更好地适应变化,拥抱变化。学会思考这个话题很宽泛,包括规避风险、项目推进、问题解决等测试人员需要的很多其他认知的过程。但是,如果测试人员不能持续学习,那么他的思考也会被限制。只有持续学习,不断思考,才能知道在不可知的未来我们能够提供什么,价值该如何体现。

4.强大的内心   

  测试工作是一个不断质疑与被质疑的过程。每天会面对很多繁重的工作,随时随地都可能被别人挑战,还有可能在工作中遭遇质疑及误解,想要将工作进行下去,强大的内心对测试人员来说极其重要。   

5.测试思维   

  测试思维决定了测试人员能在测试这条路上走多远。测试的核心技能不是测试理论,也不是测试工具,而是测试分析、测试设计、测试架构和测试规划等。"思维主导、技术辅助"一直是笔者所在团队提倡的。学会分析任务,分清优先级,具备统一规划能力,能够使工作达到事半功倍的效果。

 

猜你喜欢

转载自www.cnblogs.com/wendyw/p/11993723.html