如何写好测试用例

来源:互联网 发布:知乎 了不起的盖茨比 编辑:程序博客网 时间:2024/05/21 17:16

*

慕课网课程学习笔记总结

*

前置知识点:
软件相关概念(软件是数据、程序、文档的集合)
软件测试基础(满足需求为目的,保证软件质量的一系列手段)
测试流程(需求分析,到计划制定,用例编写与执行,再到测试结果的分析报告)
测试生命周期(测试计划、测试设计、测试开发、测试执行、测试评估)

常用术语:
通过测试手段划分:
黑盒(把软件比作黑色的盒子,不知道里面的内部结构,只能通过外面暴露出来的接口、功能进行测试)
灰盒(把软件比作半透明盒子,可以看到内部少部分结构,可以通过功能和内部的数据对比进行测试,例如软件生成的订单与数据库中的数据进行对比测试)
白盒(透明盒子,内部结构推敲是否满足需求)

软件测试三大方向:
功能(是否满足客户提出的需求)
性能(软件工作的效率,双十一对淘宝的性能测试)
安全(能否保护用户信息,不会被盗取)

测试点的划分:
兼容性(不同平台上)
易用性(满足用户使用习惯,友好性)
UI元素(美观、合适)

测试用例介绍
测试用例是什么:
测试时使用的文档,是测试工作的核心,是一组在测试时输入输出的标准,是软件需求的具体对照。

有什么作用:
检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路。

测试用例包含内容:
用例编号(类似于身份证的号码,login_001)、
用例名称(言简意赅)、
测试背景(属于哪一个项目,测什么东西)、
前置条件(测试登陆功能,前置条件是账号密码已经注册了)、
优先级、重要级(优先级和重要级不一定是正比关系,比如周末我想出去玩优先级高,但是公司有事情,它的重要级比出去玩高)、
测试数据(账号密码)、
测试步骤(第一步第二步)、
预期结果(对应的现象)、
实际结果(执行后的现象)、
备注(其他的情况)

编写流程:
需求分析–提取测试点–测试用例编写–测试用例评审

需求分析
业务需求(关注系统是否满足业务)
用户需求(关注系统是否满足用户习惯)
功能需求(关注系统是否满足功能要求)

如果没有需求怎么办?
参考市面上已经上线的同类的产品

如果需求模糊怎么办?
收集整理已有需求,和产品经理逐条确认,参考同类的产品

提取测试点
什么是测试点:通过需求分析后对得出的需要进行测试的具体内容
测试点对测试用例的设计有什么好处:快速、覆盖、方法、细节
测试用例编写注意
根据项目的实际情况设计测试用例的表格、用例格式不是固定的,不要生搬硬套、根据具体的情况编写

测试用例编写方法
等价类划分法:如何选择适当的数据子集来代表整个数据集。通过降低测试的数目去实现合理的覆盖,覆盖率更多的可能数据,已发现更多的软件缺陷。

边界值分析法:使边界值分析方法设计测试用例时一般与等价类划分结合起来,但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选择更好等于、刚刚大于或者小于边界值的测试数据。

场景法:通过运用场景对系统的功能点或业务流程的描述,从而提高测试效果。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。

测试用例评审
简单的来讲,评审就是对测试用例进行检查,评审包括同行评审、小组评审、部门评审、三方评审等,不同的评审类型会有不同的角色参与。
评审的意义在哪里?
1. 通过评审来发现测试用例的不足
2. 方便测试人员改进用例
3. 达到在测试时提高测试质量的目的
评审的流程:

测试用例管理
为什么需要管理用例?
1. 测试用例数量巨大
2. 测试用例会随着需求变更
3. 测试用例需要补充完善
如何管理用例?
1. 原始的excel管理方式
2. 专业的项目管理系统

禅道基本应用
1. 专业的研发项目管理软件
2. 完整支持敏捷开发流程
3. 完整软件生命周期管理