卷麻了,00后测试用例写的比我还好,简直无地自容...........

2024-01-05 00:28

本文主要是介绍卷麻了,00后测试用例写的比我还好,简直无地自容...........,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如:

 如何编写测试用例?

作为一个测试新人,刚开始接触测试,对于怎么写测试用例很是头疼,无法接触需求,只能站在用户角度去做测试,但是这样情况会导致不能全方位测试APP......

如何写出高效的软件测试用例?

从事软件测试大半年,基本上都是靠着对软件产品的大致了解来进行测试工作,很难对产品 进行一个全面细致的测试。现在想学习一下怎么写测试方案和测试用例,有哪些相关书籍可以参考?

固然,编写一份好的测试用例需要:充分的需求分析能力 + 理论及经验加持。 但这并不意味着,没测试经验、分析能力弱就不能写好用例,还是有方法可循的。作为混迹测试职场 9 年的老人,给大家分享一些用例编写的心得,接下来我会从以下几个方面展开来讲:

  1. 测试用例概念、作用、内容等介绍
  2. 如何编写测试用例?
  3. 微信发送朋友圈案例分享

​​ 一、测试用例介绍

测试用例是为项目需求而编制的一组包含测试输入、执行条件以及预期结果的文档,以便测试某个程序是否满足客户需求。

1、为什么要写测试用例?

  1. 是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。
  2. 有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。
  3. 编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解
  4. 可避免测试背锅

2、测试用例模板:每家公司模板可能会有差异性,一般大致包含以下内容

  • 用例编号:唯一性,一般规则:产品名_测试阶段(it st uat)_测试项_数字
  • 测试项目:对应一个功能或子功能模块
  • 测试标题:一句话总结当前测试的用意和目的
  • 重要级别:高/中/低
  • 预置条件:需要满足一些前提条件,否则用例无法执行
  • 测试输入:需要加工的输入信息,跟步骤结合起来一定要具有指导性意义
  • 操作步骤:明确给出每个步骤的描述,执行人员可以根据该步骤完成执行工作
  • 预期结果:根据预期输出比对实际结果,来判断被测对象是否符合需求
  • 实际结果:通过测试执行后的实际结果,写用例时为空。

3、测试用例编写形式

  1. 通过 Excel 编写,上述给出的模板就是该种形式 ,适用于项目开发时间比较充分的情况下
  2. 通过 Xmind 梳理测试点,适用于项目开发时间紧急情况下
  3. 项目管理平台例如禅道上编写,不常用

二、如何编写测试用例

大体思路分为三步:

第 1 步:依据需求梳理功能及功能点

第 2 步:通过测试理论方法及经验,梳理测试点

第 3 步:挖掘隐性需求,覆盖非功能测试层面

举例: 微信朋友圈动态发送

第 1 步,依据需求梳理功能及功能点

简而言之,就是把你能看得到的功能及功能点梳理出来。公司一般都有产品需求资料,例如需求规格说明书文档、原型图、UI 设计图;当没有任何需求资料情况下,可以通过操作软件来熟悉业务。像发送朋友圈,我们可以先功能模块—> 再子功能—> 再到功能需求细节来梳理,注意一些不明确的需求细节需要及时跟产品确认。大致梳理如下:

第 2 步:通过测试理论方法及经验,梳理测试点

这一步非常重要,依据需求梳理完功能点后,接下来我们需要针对每个功能点拆分整理具体的测试点,这时候我们需要设想用户操作的所有情况,包含到正常及异常场景。

我们需要同时具备测试理论方法和测试经验,才能较好地设计出一份全面可靠的测试用例。常见的测试用例设计方法包括:等价类划分、边界值分析、判定表、因果图、错误推测法、场景法、正交试验法、状态迁移法等。测试经验需要多个项目测试的积累及沉淀。对于测试新人来说,测试经验可能趋于 0,这个时候可以先借鉴一些前人的经验。对于此,我曾经整理过一份资料,很多测试新人用过资料后都觉得对测试用例有了豁然开朗的感觉,知道怎么去写用例了。

这份资料分享如下:

注:这份资料我们可以用在任何的软件产品的分析上面,从本质上来说,任何一款基于用户角度操作的软件产品,操作功能无外乎都是对数据做增删改查,所以当需要对软件产品进行分析编写测试用例时,我们可以依据当前功能是增删改查的哪一个操作,用上面梳理的测试点来套用编写用例。按增删改查操作来梳理,分为:

  1. 表单测试:涉及到数据提交的页面,包含新增或删改数据页面
  2. 搜索测试:为数据查询的页面
  3. 删除测试:为数据删除的页面
  4. cookies、session 等测试:用户操作角度,补充测试
  5. 数据库测试:页面添加、修改、删除、查询业务相关操作,就是对数据库数据的增改删查

通过测试理论方法和测试经验,我们可以得出微信朋友圈的测试点:

编写为 Excel 文档用例,可为:

728 x 291 1254 x 502

第 3 步:挖掘隐性需求,覆盖非功能测试层面

除了以上这些功能层面的,对于微信移动端产品,还需要考虑到一些特性方面的测试,包括非功能测试层面,如:

三、总结

编写用例虽然不是那么简单的事,但是通过以上,是不是发现还是有方法可循的?不会写的先模仿着来写,日积月累,通过项目中测试思维的长期训练,工作中出现 bug 的经验总结,相信某一天你会发现编写测试用例也没有那么难!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

这篇关于卷麻了,00后测试用例写的比我还好,简直无地自容...........的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/571072

相关文章

java的Timestamp时间插入mysql的datetime字段是0000-00-00 00:00:00

Mysql 与 java 的时间类型             MySql的时间类型有              Java 中与之对应的时间类型                  date                                               java.sql.Date               Datetime

【00】408笔记

上图参考文章 RIP 最大的跳数为15 为主机配置地址:DHCP ICMP报文传输方式:放在IP数据报的数据字段中传送 CIDR技术的作用:是网络归并技术,把小的网络汇聚成大的超网,进而缓解了地址资源不足的问题 IP首部字段,与分片和重组有关的是:片偏移,标志,标识 普通IP首部长为20个字节,最长60字节 16位总长度(Total Length): 标识IP数据报包的总长度,以字节为单位

【Spring boot】编写代码及测试用例入门之 Hello Spring boot _踩坑记

先贴下目录: 这是我从 start.spring.io 里下载的依赖Web的模板 // DemoApplication.javapackage com.abloume.springboot.blog.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autocon

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供

javaweb-day01-2(00:17:48 XML 的作用 和 语法)

XML: 描述 可扩展标记语言,w3c  2000年发布的 XML 1.0 版本规范。 用来描述数据之间的关系。 经常用作 软件  的配置文件,描述 模块与模块 之间的关系。 还用作    软件启动  的配置文件,描述 启动模块之间的 依赖 关系。 语法 一个XML文件分为如下几部分内容: 文档声明元素属性注释CDATA区、转义字符处

python+selenium2学习笔记unittest-05测试用例实例

看一下非常简单的目录结构 test_baidu from selenium import webdriverimport unittestimport timeclass MyTest(unittest.TestCase):def setUp(self):self.driver = webdriver.Firefox()self.driver.maximize_window()self

Python JAVA接口UTC 时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间

Python JAVA接口UTC 时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间 方法1 import datetimeorigin_date_str= "2019-07-26T08:20:54Z"utc_date = datetime.datetime.strptime(origin_date_str, "%Y-%m-%dT%H:%M:%SZ")loca

【简历】25届南京某一本JAVA简历:简历通过率还好,但是拿不到OFFER

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 今天看一份25届南京某一本大学的Java简历。 这个简历呢,学校是一本。我们说上来先要定校招层次,这个层次就按照中厂来讲。因为现在很多的双非一本目标都是在中厂。 这个同学有个实习经历,一本有八成的同学主项目都是重复的。HR他只能看到项目重不重复,要点对不对他不知道,就从这个角度来看,这位同学

【软件测试】设计测试用例

📕引言 本文章重点目标: 测试用例的概念 设计测试用例的万能思路 设计测试用例的方法 ◦ 基于需求的设计方法◦ 具体的设计方法 ▪ 等价类 ▪ 边界值 ▪ 判定表法 ▪ 正交法 ▪ 场景法 ▪ 错误猜测法 🍀测试用例 🚩概念 什么是测试用例? 测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要

51单片机-DS1302(RTC时钟显示,代码内改变,内设的24年9月5日,上午11:12:00)

一、DS1302时序及命令字 两个操作:写操作和读操作 写操作:        (由我们单片机一个控制引脚控制DS1302的IO口写入)首先就是通过时序图把我们的命令字写入,命令字是控制我们对应要写入的年月日,时分秒等配置的关键寄存器,只有设置好命令字相关参数才能写入相关的年月日等时间信息,一个写时序共2个字节,第一个字节是我们的命令字,第二个字节是我们要写入的数据(此数据为16进制写入,最