测试用例书写方法和测试方法
测试用例书写方法和测试方法
测试用例是软件测试的基础,它确保了软件功能的正确性和稳定性。本文将详细介绍测试用例的书写方法和各种测试技术,帮助测试人员提高工作效率,降低测试重复性问题。
什么是测试用例
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
测试用例的作用
- 测试用例可以提高测试人员的工作效率/降低测试人员工作的重复性问题
- 测试用例是自动化测试的基础.
测试用例的设计方法
公式:功能、界面、易用、兼容、安全、性能、网络、中断等几个方面
基于需求的测试用例设计方法
基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计;
在分析需求时,一般分为功能需求和非功能性需求.
功能需求
与程序的业务流程相关(需求规格说明书),界面(UI设计稿),易用性(用户体验),非功能需求
兼容性,性能,安全性,可靠性,网络,易维护性和可移植性等
等价类
依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
- 有效等价类:满足用户需求输入集合
- 无效等价类:不满足用户需求输入集合.
等价类思想设计测试用例步骤
- 充分理解需求
- 划分有效等价类和无效等价类
- 从有效等价类中抽取一个数据进行设计测试用例,从无效等价类中抽取一个数据设计测试用例
边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
- 上点:边界上的点
- 内点:边界内的点
- 离点:边界值附近的一个点
闭区间:区间外距离上点最近的点
开区间:区间内距离上点3最近的点
边界值法设计测试用例的步骤
- 充分理解需求
- 找边界点
- 针对边界点设计测试用例
判定表(因果图)
判定表是一种表达逻辑判断的工具.
关系
- 与:所有条件满足,结果为真。若有一个条件不满足,此时结果为假。
- 或:满足其中一个条件,结果就为真。若所有条件都为假,结果为假。
- 恒等:条件为真,结果一定为真
- 非:条件为假,结果才为真。
判定表法设计测试用例的步骤
- 充分理解所有可能的输入和输出
- 找出输入和输出之间的对应关系
- 设计判定表
- 把判定表对应到每一个测试用例
例子:淘宝优惠政策
正交表法
正交表中有两个重要的名词,分别是因素(变量)和水平(变量的值),正交表有两个重要的性质
- 每一列中各个水平出现的次数一样多
- 任何几列中各有序数对出现的次数一样多.
如何通过正交表设计测试用例
- 充分理解需求 —> 确定因素水平 —> 画正交表 —>补充正交表—>将正交表转化成测试用例
例子:邮箱注册功能
如何用用allpairs画正交表
- 将水平和因素填写到excel表格中,将此表格转化成文本文件放到allpairs的安装路径上。
- 通过cmd切换到allpairs的安装目录上,通过命令
allpairs.exe 文件名 > 结果文件名得到正交表
场景设计法
确定主事件流和此事件流
错误猜测法
根据经验来判断
如何模拟弱网
采用的工具是fiddler,具体操作如下
接口如何测试
接口测试我用到的工具是postman,接口测试根据http方法进行测试,针对接口的参数进行测试(传参数,不穿参数,非法参数等),get请求,POST请求可以吗?
如何测试一个命令
根据需求进行测试,测试的万能公式进行测试
公式:功能、界面、易用、兼容、安全、性能、网络、中断等几个方面.
水杯测试用例
安装和卸载测试
测试点
- 安装和卸载的方式不同,以及是否可以安装和卸载
- 在不同的系统下能否安装(兼容性测试)
- 在安装或卸载的过程中是否出现取消,暂停等操作
- 安装的时候空间不足
- 在安装或卸载的时候出现环境问题,如死机,关机等
黑盒测试
黑盒测试是在不考虑内部代码的情况下,检查系统功能是否按照需求规格说明书的要求,是否接受输入输出的正确性,是否满足用户的需求。
测试方法:等价类、边界值、判定表、正交表法、错误猜测法等.
- 优点:不需要了解程序内部的代码实现,从用户的角度,基于软件需求开发文档设计测试用例,不容易遗漏要测试的功能
- 缺点:代码覆盖率低
白盒测试
白盒测试的测试目的是,通过检査软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不司地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
主要包含六种测试方法:语句覆盖、定覆盖、条件覆盖!判定条件覆盖、条件组合覆盖、路径覆盖
特点:代码覆盖较高,业务功能覆盖较低
灰盒测试是基于黑盒测试和白盒测试中间的一种测试方法.
α测试和β测试的区别
- 环境:α测试在公司内部进行测试,β测试不确定
- 测试人员类型和数量:α测试公司内部人员,数量较少. β测试是用户,人数较多
- 周期:α测试的周期短,β测试周期长
- 阶段:α测试在β测试之间完成呢.
按开发阶段进行划分
测试顺序:冒烟测试—> 单元测试(测试方法) —> 集成测试(测试接口等) —>系统测试(整个系统) —>验收测试()
