一文教你写出高效的软件测试用例!微信朋友圈动态发送为例
编写一份好的测试用例需要:充分的需求分析能力 + 理论及经验加持。 但这并不意味着,没测试经验、分析能力弱就不能写好用例,还是有方法可循的。作为混迹测试职场 10 年的老人,给大家分享一些用例编写的心得,接下来我会从以下几个方面展开来讲:
- 测试用例概念、作用、内容等介绍
- 如何编写测试用例?
- 微信发送朋友圈案例分享
一、测试用例介绍
测试用例是为项目需求而编制的一组包含测试输入、执行条件以及预期结果的文档,以便测试某个程序是否满足客户需求。
1、为什么要写测试用例?
- 是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。
- 有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。
- 编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解
- 可避免测试背锅
2、测试用例模板:每家公司模板可能会有差异性,一般大致包含以下内容
- 用例编号:唯一性,一般规则:产品名_测试阶段(it st uat)_测试项_数字
- 测试项目:对应一个功能或子功能模块
- 测试标题:一句话总结当前测试的用意和目的
- 重要级别:高/中/低
- 预置条件:需要满足一些前提条件,否则用例无法执行
- 测试输入:需要加工的输入信息,跟步骤结合起来一定要具有指导性意义
- 操作步骤:明确给出每个步骤的描述,执行人员可以根据该步骤完成执行工作
- 预期结果:根据预期输出比对实际结果,来判断被测对象是否符合需求
- 实际结果:通过测试执行后的实际结果,写用例时为空。
3、测试用例编写形式
- 通过 Excel 编写,上述给出的模板就是该种形式 ,适用于项目开发时间比较充分的情况下
- 通过 Xmind 梳理测试点,适用于项目开发时间紧急情况下
- 项目管理平台例如禅道上编写,不常用
二、如何编写测试用例
大体思路分为三步:
第 1 步:依据需求梳理功能及功能点
第 2 步:通过测试理论方法及经验,梳理测试点
第 3 步:挖掘隐性需求,覆盖非功能测试层面
举例: 微信朋友圈动态发送
第 1 步,依据需求梳理功能及功能点
简而言之,就是把你能看得到的功能及功能点梳理出来。公司一般都有产品需求资料,例如需求规格说明书文档、原型图、UI 设计图;当没有任何需求资料情况下,可以通过操作软件来熟悉业务。像发送朋友圈,我们可以先功能模块—> 再子功能—> 再到功能需求细节来梳理,注意一些不明确的需求细节需要及时跟产品确认。大致梳理如
第 2 步:通过测试理论方法及经验,梳理测试点
这一步非常重要,依据需求梳理完功能点后,接下来我们需要针对每个功能点拆分整理具体的测试点,这时候我们需要设想用户操作的所有情况,包含到正常及异常场景。
我们需要同时具备测试理论方法和测试经验,才能较好地设计出一份全面可靠的测试用例。常见的测试用例设计方法包括:等价类划分、边界值分析、判定表、因果图、错误推测法、场景法、正交试验法、状态迁移法等。测试经验需要多个项目测试的积累及沉淀。对于测试新人来说,测试经验可能趋于 0,这个时候可以先借鉴一些前人的经验。对于此,我曾经整理过一份资料,很多测试新人用过资料后都觉得对测试用例有了豁然开朗的感觉,知道怎么去写用例了。
这份资料分享如下:(需要的同学可以赠送)
注:这份资料我们可以用在任何的软件产品的分析上面,从本质上来说,任何一款基于用户角度操作的软件产品,操作功能无外乎都是对数据做增删改查,所以当需要对软件产品进行分析编写测试用例时,我们可以依据当前功能是增删改查的哪一个操作,用上面梳理的测试点来套用编写用例。按增删改查操作来梳理,分为:
- 表单测试:涉及到数据提交的页面,包含新增或删改数据页面
- 搜索测试:为数据查询的页面
- 删除测试:为数据删除的页面
- cookies、session 等测试:用户操作角度,补充测试
- 数据库测试:页面添加、修改、删除、查询业务相关操作,就是对数据库数据的增改删查
通过测试理论方法和测试经验,我们可以得出微信朋友圈的测试点:
编写为 Excel 文档用例,可为:
第 3 步:挖掘隐性需求,覆盖非功能测试层面
除了以上这些功能层面的,对于微信移动端产品,还需要考虑到一些特性方面的测试,包括非功能测试层面,如:
三、总结
编写用例虽然不是那么简单的事,但是通过以上,是不是发现还是有方法可循的?不会写的先模仿着来写,日积月累,通过项目中测试思维的长期训练,工作中出现 bug 的经验总结,相信某一天你会发现编写测试用例也没有那么难!
如何是不知道怎么学习的话?这里附赠一份《测试学习进阶思维导图》和《测试全栈知识复习PDF》,需要的朋友可以在文末打包获取。
干货精选
软件测试路上不可缺少的知识,也是我多年来总结的经验
1.前置基础知识:
- 计算机基础
- 测试理论
- HTML基础
- CSS基础
- JS基础
二,linux和数据库
- linux
- 数据库介绍
- SQL语言(重点)
- 数据库高级功能
三,测试基础
- 软件测试理论
- 软件生命周期
- 测试方法和分类
- 测试用例设计
- 缺陷管理
- web项目实战
- 测试管理工具
四,编程+数据结构
- Python基础
- 面向对象
- 异常处理
- 模块和包
五,WEB自动化
- WEB自动化入门
- WEB自动化基础
- WEB自动化中级
- WEB自动化高级
- 项目实战
六,移动自动化
- 移动自动化基础
- 移动自动化中级
- 移动自动化高级
七,接口测试
- 接口基础
- postman实现接口测试
- 数据库操作
- 代码实现接口测试
- 持续集成
- 接口测试扩展
八,性能测试
- 性能测试基础
- 性能测试工具
- 项目-接口性能测试
- 项目-web性能测试
- 性能测试调优
九,综合项目实战
功能测试,ui自动化测试,接口测试,性能测试
总结:
相信你如果掌握了上图上面所有的知识技能,并且能够灵活的运用的话,月薪20k以上并不会是什么问题
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)
可以自助拿走,群号:175317069 群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦
如果对你有一点点帮助,各位的「点赞」就是小编创作的最大动力,我们下篇文章见!
一文教你写出高效的软件测试用例!微信朋友圈动态发送为例相关推荐
- 如何写出高效的软件测试用例?微信朋友圈动态发送为例
编写一份好的测试用例需要:充分的需求分析能力 + 理论及经验加持. 但这并不意味着,没测试经验.分析能力弱就不能写好用例,还是有方法可循的.作为混迹测试职场 10 年的老人,给大家分享一些用例编写的心 ...
- 如何写出高效的软件测试用例?
如何写出高效的软件测试用例? 一级目录 二级目录 三级目录 一.什么是测试用例 二.如何编写测试用例 1.看怎样去实现覆盖需求所有测试点 2.挖掘需求外测试点 三.分享测试用例专项视频供大家学习 一级 ...
- 如何写出高效的软件测试用例,测试人都用得到
要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?接下来将从以下几个部分来进行展开 1.什么是测试用例 2.如何编写测试用例 一.什么是测试用例 测试用例 :为了特定目的 ...
- 一文教你如何写出高效的软件测试用例?
如何以最少的人力.资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,是软件测试组织探索和追求的目标. 测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定 ...
- 班旗怎么用软件设计,微信朋友圈投票软件[必看]如何制作
随着微信朋友圈投票活动的增多,每个人都在微信上投票.如果你经常在朋友圈中进行游说,就会引起每个人的不满.如何交朋友圈投票软件 [必看] 大师分享一个完整的体验 朋友圈投票软件制作过程适合所有人. 微信 ...
- 深度学习研究生如何快速提升代码能力,写出高效的代码?
深度学习代码与前端代码区别 深度学习的代码能力与开发后台或者前端的工程代码能力不是一个概念. 写前端代码:脑海中是整个工程的架构,写代码则是把这些架构用 code 具体化. 写深度学习代码:脑海中浮现 ...
- 如何写出高效的SQL脚本
如何写出高效的SQL脚本 注:测试记录:每个表记录数:3040000. 如何写出高效的SQL脚本: 1. 设计如何满足SARG形式的SQL脚本 SARG的定义:用于限制搜索的一个操作, ...
- 微信朋友圈装x代码_朋友圈生成器有哪些_微信朋友圈生成器大全_微信朋友圈装逼生成器下载_飞翔软件专题...
微信朋友圈生成器是小伙伴日常朋友圈装逼的必备工具.本次小编为大家带来多款朋友圈装b生成器,支持各种豪车,驾驶证,房产证等装逼图片的生成.微信朋友圈装b生成器可以帮助用户好好的装逼,装出全新的高度.相信 ...
- Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能
本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多&q ...
最新文章
- web app升级—带进度条的App自动更新
- SpringBootMybatis 关于Mybatis-generator-gui的使用|数据库的编码注意点|各项复制模板...
- Vue 中多个元素、组件的过渡,及列表过渡
- (转)PHP5使用cookie时报错 cannot modify header information - headers already sent by (......)
- Python知识点笔记-面向对象进阶篇
- 【原创】请不要对Boost Format使用Byte作为参数
- xml 文件树结构用c++读入并保存
- 谷歌浏览器老是出现花_Google全新的AI平台值得您花时间吗?
- python、mysql、git之各种系统下的安装
- 西电计算机考研数学,西安电子科技大学21考研数学高分上岸学长经验分享
- [转帖]国产操作系统概念及历史,目前国产操作系统有哪些?
- 分享一款超棒的jQuery Google地图插件:Gmaps
- android如何增加北斗定位,安卓手机怎么设置北斗导航图文教程
- Arcface中的IR_SE模块
- 数据库sql文件导入失败(高版本转入低版本),报错:[SQL] Query test start[ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘
- 刷脸支付会以迅雷不及掩耳之势布局未来
- 【实习日志】SSM用户管理系统搭建+更新
- 单纯性搜索算法 matlab函数,matlab : Nelder mead simplex 单纯形直接搜索算法;
- 腾讯云TCB云函数抓取微信订阅号话题标签文章
- 安卓手机抓包-安装证书fidder抓包
热门文章
- Rules for posting key XX and acct XXXXX set incorrectly for XXXX field
- 5行Python代码就能让你的电脑 “永不息屏”?
- sqoop报错以及解决:Access denied for user 'root'@'172.16.21.22' (using password: YES)
- 为什么view的setOnClickListener引用Activity不会内存泄漏
- 自动化毕业设计题目大全
- 微型计算机与接口技术总结,微型计算机与接口技术教程
- Python多元线性回归、机器学习、深度学习在近红外光谱分析中的应用
- 数学中为什么要研究各种各样的变换?
- 27岁转行学编程,晚么?
- java解决对US7ASCII编码的ORACLE数据库数据解码