作为测试人员,设计测试用例是我们的职责,也是我们的核心竞争力,同样一个需求,不同人设计出来的测试用例都是不一样的,那么我们如何让自己更加全面快速的进行用例设计,这就需要我们在自己的脑子里建立一套测试用例设计框架,从不同维度去考虑用例,接下来小编就会给大家说说测试用例的设计框架,希望能够帮助到大家 测试用例设计不仅仅需要从需求文档出发,我们也是要关注设计,关注实现,从用户角度出发,去看产品是否合理,是否具有核心竞争力,设计是否合理,这里小编总结了以下几个维度,帮助大家建立测试用例设计框架,协助大家更全面的去测试产品 更多的是关注设计与需求的原型是否相符,是否与用户习惯行为相符,主要可以从 图标/文本/样式/长/宽/高/颜色等等方面去考虑设计 从需求出发,关注需求的核心功能点,这里可以从 需求的状态、不同大小、不同位置、不同类型、不同参数等等方面去考虑设计 更偏重于异常场景的case,可以从边界、异常、无效等价类等方面去考虑设计 从用户角度出发,关注需求和设计是否符合用户行为习惯,可以从是否好用、好操作、提示是否明确等方面去考虑设计 从用户角度出发,关注设计是否安全,是否会造成信息泄露,硬件损坏,对人体、环境等是否有危害,可以从敏感数据是否加密处理、xss攻击、sql注入式攻击、用户权限、备份与恢复情况、系统是否分布式部署、是否有毒材料、小零件是否容易掉等方面去考虑 主要关注系统的最大容量,在一些极端条件下是否能够正常运行和使用,具体的可以从速度、响应、处理、最大量、最多人、根据不同类型考虑不同指标[cpu、网络传输、内存、磁盘]、耗电、耗网、温度、湿度等方面去考虑 主要关注系统是否适应多系统,多版本,多网络,多平台,具体可以从系统方面(类型、版本、补丁)、防火墙、防病毒、网络(wifi/有线(移动|联通|电信|局域网)、信号(2g/3g/4g/5g)不同版本、不同端(PC/app/web/m)等方面去考虑 主要关注系统软件是否适应多国,可以从多语言(英文版装在中文的系统上)、输入信息(使用本地化、国际化信息)、设定的时间区域、不同语言分隔符、是否符合当地法律条文等方面考虑 主要关注系统软件的文档是否齐全、易懂、多语言、查看入口是否好找、是否有错字等方面考虑 主要关注系统软件对应提示语的信息是否语言风格统一、明确、易懂、友好等方面考虑 主要关注系统是否可以稳定运行使用,可以从运行7*24小时连续执行,长时间读写查等方面考虑 主要关注系统软件是否和其他软件存在冲突,比如接电话时是否可以和别人微信语音视频等等 针对不同环境进行不同配置参数设置,校验配置项是否设置生效且合理比如测试系统在线下环境和线上环境的配置参数就应该不一样,如果环境隔离,调用的数据等相关配置信息应该都是一样的才行 关注产品是否好维护,可以从维护成本、零件是否好找,数据是否好恢复,系统是否支持快速升级等方面去考虑 从需求出发,关注当前产品是否有相类似的产品,我们的系统产品优势是什么,校验产品的竞争力 每种类型的产品对应的测试用例重点也都不一样,接下来小编按照不同类给大家详细列举一下每种需要关注的重点,并给出详细测试点 常见的需求: 登录页面、注册页面等 常见的需求: 电梯、水杯、钢笔等 常见的需求: 微信发消息、QQ传文件、发布朋友圈、朋友对我状态的等 常见的需求: 给定一个接口或者函数,测试对应接口和函数测试用例的设计框架
UI方面
功能方面
容错方面
易用性方面
安全性方面
性能方面
兼容性方面
国际化方面
文档方面
提示语言方面
稳定性方面
冲突方面
配置方面
可维护性方面
竞品方面
以上是小编总结的几个维度,当然也不是最全面的,欢迎大家留言补充,共同成长。常见的几种类型对应的测试用例设计思路
页面类
关注重点: 页面功能、UI、安全、性能、兼容等
举例说明: 登录页面实物类
关注重点: 功能、容错、性能、易用、稳定,竞品、可维护性等
举例说明: 钢笔
工具类
关注重点: 功能、性能、易用、维护性、稳定、国际化等
举例说明: QQ传文件
代码类
关注重点: 接口入参、接口逻辑处理、接口返回值、接口容错、接口文档、接口合理性等
举例说明: 接口用例设计
常见接口测试常出现的问题
(a)类型溢出,导致数据读写不一致
(b)参数值传递错误,处理异常,导致程序异常退出
(c)权限设置不合理,可以获取用户敏感信息
(d)状态处理不当,导致逻辑出现错乱
(e)逻辑校验不完善,可能存在遗漏情况
注:如果接口状态情况较多,则用正交法设计测试用例比较合适