从场景软件测试用例设计谈业务测试

简介:

作为测试人员,编写测试用例是我们的核心,他最重要的作用就是让我们跟着测试用例测试,不会遗忘一个测试的功能点。在现实的设计用例环节来说,做到很好的测试用例对我个人来说是很难的。尤其是场景测试用例设计。

  本文不以概念和一些教科书似的例子来讲解场景测试和业务测试的相互关系。以一个轻松交流的方式来总结场景测试的流程。当今很多产品不再是单一的互联网或者是独立产品作为测试的对象,往往跟多个模块进行配合测试。即使有严格的规格说明书,事件流的测试也是不能忽视。

  为什么要用场景测试用例:

  因为用等价,边界等设计方法对于一些流程较多或者对于没有需求规格书来说,是非常难做到的,尤其是逻辑性比较强的嵌入式产品。他的边界值往往都要到性能测试的性能kpi和压力2个测试点才能够观察到。

  测试阶段中什么时候用场景测试:

  在产品开发阶段和测试阶段同步进行时(说正规点是敏捷,说不正规点是赶工,个人意见),还有单元测试或者单个模块测试完毕后。

  场景测试用例设计的困难点:

   1、需求不足和逻辑关系较多的时候。这里需要展开来讲。很多时候我是不得不用到场景测试法。因为需求规格书不足和该产品从等价,边界等测试用例方法是设 计不出有效的测试用例。流程和涉及产品较多,对比网上的场景用例实例,现实中使用场景用例的流程往往复杂很多,单单了解流程都很吃力。

  2、设计事件流的过程中很容易设计出沉余的测试用例,因为就算每个流的条件不一样,但是你实际测试过程中使用的手法和观察点确是一样的。难就难在这用正交法是很难瘦身这类的用例,只能通过测试来慢慢优化该用例,流程关注点越多,重复的几率就更多。

  为什么我既爱又恨场景测试法:

  对于我来说,场景测试法既是我用最多的测试法也是我最不想用的设计方法。作为测试人员在长期的测试过程中,你会慢慢变得很懂内部原理,尤其是你转化为自动化测试后,甚至做到一个确定键报错都会联想到这是数据库和web的存储过程入参不一致导致的境界。好处是你可以测试出很多底层的东西,坏处是经过你测试的产品,功能很多,但是却不好用。因为我忽略了我是一个用户的角度去测试,而是一个开发测试开发的东西。

   场景测试让我找到了平衡点,我知道了这东西的流程,可以在了解中提出改进建议,对产品有了很深的了解。让我从自动化测试中拉回来一点点。为什么我会不想 用的此种设计方法。他很考你的经验和总结能力,同上面所说你缺乏需求规格书的时候,你就是用想来写用例。所以当别人表扬我测试不少用例以外的关键Bug的时候,我是高兴我的有好的测试经验还是我写出了差的测试用例。

   对于做测试有一定年头的人,项目组对你的要求不再是了解普通的测试流程,还有很多里面的原理,设计,方案,进度。场景测试设计的时候你就要把关,我设计 的是多深入的测试用例?能否根据你项目的期望来测试出关键的bug。好比我测试的是web的流程,但是项目关注的后台的处理流程。实际情况中,你设计场景 用例的时候不再是培训那套理论和”真理”。

  通过以上可以看出,为什么有些业务测试工程师比自动化,性能,甚至开发的地位都要高。例如银行,无线通信业务中,手工的测试手法非常多,同样的产品不同的人测出的效果不一样。体现出现的就是业务流程的能力,部分情况下就是场景测试设计的功力。

  总结,作为一个测试人员的我的目标测试周期,第一了解产品的应用架构,第二了解产品使用的业务流程,第三总结业务流,第四根据业务流跟各个开发组了解设计流程,第五写出按需求的自动化测试的架构,第六写出场景测试用例,第七进行系统测试,第八进行细节的自动化用例编写,第九进行自动化测试,第十出测试报告和测试周期的自我”性能调优”总结文档。

  这篇就是我的场景测试总结文档。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
21天前
|
敏捷开发 Java 测试技术
探索软件测试中的自动化测试框架
在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的不断进步和软件项目的日益复杂化,传统的手动测试方法已经无法满足高效、准确的测试需求。自动化测试作为一种提高测试效率和质量的有效手段,越来越受到开发者和测试者的青睐。本文将深入探讨自动化测试框架的重要性、常见的自动化测试工具以及如何选择合适的自动化测试框架。
47 10
|
29天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
1月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
1月前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
1月前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
1月前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
1月前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
1月前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
1月前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
2月前
|
测试技术 开发者
探索软件测试中的自动化测试框架
在软件开发的世界中,质量是至关重要的。为了确保软件产品的质量,软件测试扮演着不可或缺的角色。本文将深入探讨自动化测试框架的概念、重要性以及如何有效地实施它们来提高软件测试的效率和效果。我们将从自动化测试的基本概念开始,逐步深入到不同类型的自动化测试工具和框架,最后探讨如何在实际项目中选择合适的自动化测试策略。