如何编写测试用例?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

测试场景: 为登录功能设计测试用例

测试员为什么要会编测试用例

测试员的目标是要保证系统在各种场景下的功能是符合设计要求的。而测试用例就是测试员想到的测试场景。(这也是高级别的测试员即使不会代码也能找到较好工作的原因)

编写测试用例的思路

等价类,边界值,正交 判定表 因果图 状态迁移图 场景分析 错误猜测法,其中等价类和边界值是最基础最重要的 我的思路是80%的用例使用这两种写,剩余的20使用其他方法。(其他测试方法是对等价类和边界值做了抽象) 等价类 将可能的场景分为一个有效等价类和多个无效等价类,后续只要从每个等价类中任意选取一个值进行测试,就可以用少量具有代表性的测试输入取得较好的测试覆盖结果(等价类:一组数据或因素对程序产生的影响是一样的) 边界值:使用等价类筛选后,选取边界上的再次进行验证(正好等于、刚刚大于或刚刚小于边界的值作为测试数据)

为登录功能设计测试用例 输入框:用户名 输入框:密码 按钮: 登录 功能 用户名

等价类:

  • 有效的等价类:已经注册的用户名;已注册但是不合法的用户名
  • 无效等价类未注册但是合法的用户名; 已注册但是不合法的用户名(特殊字符;长度); 未注册的用户名 , 空,空格

边界值: 空,长度恰好在需求范围外 特殊字符 密码

等价类

  • 有效等价类:与用户名对应的正确的密码;
  • 无效等价类: 与用户名对应的正确的密码;空,不正确的密码,不合法的密码(SQL注入) 结果

等价类:

  • 有效等价类:登录成功
  • 无效等价类:登录失败,提示信息正确;登录失败,提示信息不正确

非功能测试一般是在功能测试完之后在进行的,否则即使非功能测试的结果再好但是不能满足业务的需求,那就是做无用功。

当测试服务器主机是Windows Server: 判断一下对大小写有没有限制(Windows不区分大小写) 利用Charless等代理工具测试待测软件在弱网和网络切换时的情况 密码框是否加密显示(不可复制,不能猜出位数,浏览器查看源码的情况下也是加密的) 后台系统创建的用户第一次登录成功时,是否提示修改密码;(高校给学生购买了某网课平台的在线课程一般是用学号作为账户名) 验证码的时效性(验证码有效期内,有效期外,恰好在有效期与无效期,同一用户或IP是否有每天获取验证码的次数) 刷新页面是否会刷新验证码 普通用户登录后访问了管理员有权访问的页面是否阻止访问并给出提示信息 页面内容展示后页面的默认焦点是否在用户名的输入框中,且Tab和Enter可以使用 同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合设计预期; 同一用户先后在多台终端的浏览器上登录,验证登录是否具有互斥性。

单用户登录的响应时间是否小于 3 秒;单用户登录时,后台请求数量是否过多; 高并发场景下用户登录的响应时间是否小于 5 秒;高并发场景下服务端的监控指标是否符合预期; 高集合点并发场景下,是否存在资源死锁和不合理的资源等待;长时间大量用户连续登录和登出,服务器端是否存在内存泄漏。

不同浏览器下,验证登录页面的显示以及功能正确性; 相同浏览器的不同版本下,验证登录页面的显示以及功能正确性; 不同移动设备终端的不同浏览器下,验证登录页面的显示以及功能正确性;不同分辨率的界面下,验证登录页面的显示以及功能正确性。

测试用例的格式

测试用例管理与复用

excel--->数据库

总结

一个优秀的测试工程师应该是有非常广阔的知识面: 产品,开发,运维,数据分析, 安全等软件公司各个方面知识都有所涉猎的"八爪鱼" 这样才能看到软件的整体,甚至是看到软件的短时间内的未来 软件测试是一个妥协的过程,需要平衡测试的投入与产出,不可能做到穷尽测试保证软件完全没有BUG 就目前来说,如果开发用的时开源的主流技术一般不会出现明显的BUG,这也是一些公司没有测试员的原因,且行业内对高级测试员的要求是:一个懂业务懂测试的全栈。

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

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

相关推荐
特立独行的猫A3 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持3 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
云和数据.ChenGuang4 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰5 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
benchmark_cc6 小时前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
羲云网络9 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
橙橙笔记13 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
小小张说故事13 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
天天被压力15 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力15 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python