将面向对象的思想带入TC

简介:

写TC貌似是很简单的工作,但当动手写的时候往往会出现,不知道写什么,又感觉有一堆的东西需要写,即使一个简单的日常也会觉得里面的逻辑非常复杂,然后就是晕得不知所向。
  个人认为,写TC没有固定的模式,也没有唯一的答案,每个人的方式不同,习惯不同,TC中的如何分类归纳也就自然不相同。但目标是一致的,基本目标是覆盖需求、无盲区;加强目标是加深测试点,完善用户友好性等。

  下面分享下我写TC的几种思路。

  第一种思路——先对象,后流程

  面向对象是在平常入门学习中 首先接触到的概念,它不仅仅存在于代码的编写中,更存在于我们的工作方式和方法中。首先分析需求中涉及到哪些对象,比如页面是一个对象,对它加以细化,页 面大对象可能又分为新增页面,修改页面,删除页面和查询页面等,或者从功能上划分为卖家页面、小二页面等。分析完后再层层细化,比如新增页面包含的哪些文 本的输入框,单选/多选项、日历控件,以及它们之间操作的优先级,错误提示的优先级等等,再洗化到各个控件本身的限制检查,如单行文本最长和最短的校验长 度是多少,非法字符校验等。

  当所有对象类信息完成后,再考虑这些对象之间的流程关系,比如对用户身份审核的操作必须建立在用户身份信息 已创建之后,或者信息被修改后。不光是需要校验正常的操作流程,还需要花大精力放在异常流程的操作上,比如用户在填写信息时,突然中断了操作,这样的情况 通过什么样的流程去处理。因此这里的流程,应该是包括正常流、异常流及扩展流(需求中未涉及,但测试人员基于用户友好或者性能方面考虑需要加入的流程)。

  回过头想一想,我们说,把面向对象的思想带入TC,那面向对象又体现在什么地方呢,难道仅仅是分类么?NO!

   我们是不是经常会在写TC中碰到这样的问题,比如某些项目中,进行查看和修改时,发现自己看到的是相同的页面,也就是可能在做不同操作流程的时候发现到 达了相同的一个出口,那对于这N个流程是否需要写N个平行的TC,是否可以把某部分写成公共模块以提高效率,避免冗余呢。

  第一种思路可 能会有同学觉得很麻烦,很容易复杂化,确实是的,因为大家平常做项目或日常时,至少是有页面或者页面大概的原形,如果需求是很模糊的,又或者客户也不知道 具体是要做成什么样的,同时客户又希望能快速立项的情况下,可以使用这种方式,其实在这样的过程中,测试人员无形中担当了架构的角色,并且能帮助开发完善 产品。

  第二种思路——先流程,再对象

  这种思路,要求是页面设计到位,至少是大概的原形具有,然后对着原形写TC。

   从打开的第一个页面开始层层深入写,比如首先是用户登陆,然后是主展示页面,再可能是搜索宝贝等,先把流程正常流程建立好,然后将这些流程细化,如用户 登陆是否采用弹出窗口,窗口的位置、大小,窗口中的表单项是否完整,如是不是缺少验证码项,再考虑某一项的校验,如用户名是否为单行文本,长度限制多少, 非法字符限制,是否为必填项(不填是否有提示)等。

  使用这种思路的时候,切记至少要包含几类信息:页面总体展示、表单项完整性、表单项正确性、表单项可操作性(独立操作和组合操作)、表单项非法校验、及当前页面的其他跳转出口(如点击“登陆”,在用户输入的信息正确的情况下,应跳转到主展示页面)。

  这种思路可能使用的同学比较多,至少我是经常用的。这里实际上还是把页面当成了大对象,当出现多类页面跳转到相同页面上去的时候,这个相同页面就可以作为公共部分来使用了。

  记得在学校里学习这些原理的时候,对它的用法感悟不深刻,出来工作以后发现,其实很多思想就穿插在平时的应用中,所以有一句话很欣赏:解决问题,思路很重要,技术在其次。

  以上是对于写TC思路的一些个人看法,有不足之处还请大家指正。

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

目录
相关文章
|
监控 架构师 Java
JVM 8 调优指南:如何进行JVM调优,JVM调优参数
这篇文章将详细介绍如何进行JVM 8调优,包括JVM 8调优参数及其应用。此外,我将提供12个实用的代码示例,每个示例都会结合JVM启动参数和Java代码。JVM调优是指通过调整Java虚拟机的配置来提升Java应用程序的性能。这包括优化堆内存设置、选择合适的垃圾收集器以及调整其他性能相关的参数。
1095 0
|
数据采集
总结一下最近看到的几个数字化转型成功案例
总结一下最近看到的几个数字化转型成功案例
|
存储 运维 监控
云时代,好用的数据迁移方案推荐
本文将介绍数据库迁移的步骤以及市面上常见的迁移工具,推荐大家选择能够支持“业务零停机迁移”的工具产品。同时,平台工具(例NineData) 的自动化体验及配套设施(例:数据校验工具、迁移限流、监控告警等)一般较为完善,是比较推荐的选择。
1421 1
云时代,好用的数据迁移方案推荐
|
存储 固态存储 安全
云存储性能优化的关键指标
【6月更文挑战第4天】云存储性能优化关乎用户体验与企业效率,关键指标包括:吞吐量(衡量数据处理能力)、IOPS(反映读写操作速度)、延迟(影响用户感知速度)、带宽(数据传输速率)和数据冗余及容错机制(保障数据安全与服务连续性)。优化涉及硬件、软件和网络层面,服务商需不断创新以满足增长的业务需求,为用户提供高效、安全的云存储服务,驱动数字世界发展。
543 5
云存储性能优化的关键指标
|
机器学习/深度学习 编解码 算法
算法工程师面试问题总结 | YOLOv5面试考点原理全解析
本文给大家带来的百面算法工程师是深度学习目标检测YOLOv5面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习目标检测面试问题,并提供参考的回答及其理论基础,以帮助求职者更好地准备面试。通过对这些问题的理解和回答,求职者可以展现出自己的深度学习目标检测领域的专业知识、解决问题的能力以及对实际应用场景的理解。同时,这也是为了帮助求职者更好地应对深度学习目标检测岗位的面试挑战,提升面试的成功率和竞争力。
|
安全 Linux 测试技术
STM32F103C8 TIM输出比较与PWM
STM32F103C8 TIM输出比较与PWM
232 0
阿里云网站备案审核时间主要取决于两个环节
阿里云网站备案审核时间主要取决于两个环节
650 1
|
存储 算法 分布式数据库
HBase的数据压缩是如何实现的?
HBase的数据压缩是如何实现的?
235 0