目录
1.测试用例
1.1概念
1.2测试的要素
2.测试用例的万能公式
2.1常规思考+逆向思维+发散性思维
2.2万能公式
2.2.1功能测试
2.2.2界面测试
2.2.3性能测试
2.2.4兼容性测试
2.2.5易用性测试
2.2.6安全测试
2.3弱网测试
1.测试用例
1.1概念
什么是测试用例?
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
设计测试用例原则一:
测试用例中一个必须部分是对预期输出或结果进行定义。
1.2测试的要素
什么是要素?我们在编写测试用例的时候,每个用例需要给出这些要素对应的信息。
用例编号 | test-01 |
---|---|
标题 | 成功注册网易邮箱 |
测试方式 | 手工测试 |
功能模块 | 注册登录 |
重要性 | 重要 |
测试前提 | 系统运行正常,邮件服务器已开启 |
测试环境 | win10 Chrome版本103.0.5060.66(正式版本)(64位) |
测试数据 | 邮箱地址:996402440@qq.com 密码:123456 手机号:12312341234 |
测试步骤 | 1.打开谷歌浏览器,输入网易注册地址:https://mail.163.com/register/index.html 2.输入邮箱地址,密码,手机号,获取验证码并输入正确的验证码,勾选协议 3.点击注册类型 |
期望结果 | 展现注册成功的结果页,并且使用刚注册的账号可以正常登录并进入邮箱首页 |
为什么需要测试用例呢?不写测试用例可以进行测试吗?
测试中可能会遇到很多问题,诸如:
- 不知道是否较全面的测试了解所有功能
- 测试的覆盖率无法衡量
- 对新版本的重复测试很难实施(即回归测试无法通过人工测试的方式进行历史功能的回归)
- 存在大量冗余测试影响测试效率
2.测试用例的万能公式
2.1常规思考+逆向思维+发散性思维
正确设计测试用例的思想:常规思考+逆向思维+发散性思维
设计测试用例的原则二:
- 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应该根据无效和未预料到的输入情况。
- 检查程序是否“未做其应该做的”仅是成功的一半,测试的另一半是检查程序是否“做了其不应该做的”(是上一条原则的必然结果)
- 计划测试工作时不应默许假定不会发现错误。
2.2万能公式
设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试
2.2.1功能测试
功能测试是一个试图发现程序与其外部规格说明之间存在不一致的过程。外部规格说明是一份从最终用户的角度对程序行为的精确描述。功能测试通常是一项黑盒操作。在进行功能测试时,需要对规格说明并进行分析以提炼测试用例。
然而,不仅在工作中还是面试中,可能还会存在需求不明确的功能?这种情况下该如何进行功能测试呢?
- 查找其他相关文档,来帮助理解所要测试的产品需要完成的目标。
- 尽量多参加项目组内的会议,比如需求讨论、设计讨论、计划讨论等,能够加深对产品的理解。
- 召集相关人员,对你整理的结果进行讨论,通过评审后,这份文档就可以作为依据来设计你的case了。
- 如果是一款已经上线的产品,可以多使用该产品,不懂得问产品经理。
- 也可以去看历史bug,可以了解到一些需要关注的东西。
2.2.2界面测试
对软件界面上所有的内容都需要进行测试
要求:
- 整体界面测试界面的实现和设计图要求一致。
- 界面元素测试。
- 控件操作验证
2.2.3性能测试
性能测试和功能测试的区别是:功能测试检查软件是否做了,而性能测试测试软件做的好不好。
2.2.4兼容性测试
软件是部署在硬件系统之上,并依赖所需要的软件环境。如QQ可以在PC端打开,也可以在移动端打开;移动端又分为IOS系统和Android系统,且市面上手机又有不同的品牌、不同的机型、不同的版本。软件是否能够在不同的环境下正确运行需要测试人员进行验证。
问题:既然市面上有众多版本的机器,那么在执行兼容性测试时难道所有的机型都需要全面覆盖吗?
选取标准:
- 优先选择使用当前产品top级别的机型进行测试。实际在企业中,后台是可以获取到使用产品的机型,并以报表的形式统计在后台,供产品人员或其他人员制定策略参考。
- 选择主流的浏览器/机型进行测试。
2.2.5易用性测试
易用性测试的标准是检查产品是否具备简单易上手的属性。假如测试人员从来没有安装或使用过该产品,作为一个新用户,对当前产品是否能够快速使用产品的使用流程。
2.2.6安全测试
安全测试和性能测试一样都是比较大的领域。常见的安全问题如:
- 隐私数据明文显示。
- 参数未强校验导致SQL注入。
- 越权:普通用户也可以执行管理员权限的操作。
2.3弱网测试
除了万能公式之外,还有一个比较常用的测试:弱网测试、安装卸载测试。
弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:
- 页面响应时间是否可以接受,关注包括热启动、冷启动时间,页面切换,前后台切换,首字时间,首屏时间等。
- 页面呈现是否完成一致。
- 超时文案是否符合定义,异常信息是否显示异常。
- 是否有超时重连。
- 安全角度:是否会发生dns劫持,登录IP更换频繁,单点登录异常等。
- 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。
安装和卸载测试
针对需要进行部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载。