文章目录
-
- 一、软件测试的生命周期
- 二、如何描述一个bug
- 三、为什么测试前要设计测试用例
- 四、基于需求设计测试用例
- 设计测试用例的方法
-
- 等价类
- 边界值
- 错误猜测法
- 场景法
- 因果图法
- 正交法
一、软件测试的生命周期 也称为软件测试的流程
需求分析----测试计划----测试设计(开发)----测试执行----测试报告
1、 需求分析:分析需求,验证需求(正确性,合理性),细化需求,根据需求去提炼测试点
2、测试计划:确定测试范围,目的,目标,测试人员,测试工具,时间,测试环境
3、测试设计:开发测试用例
4、测试执行:开发人员已经提交代码,执行测试,提交bug
5、测试报告:本次迭代的测试情况进行分析和总结,写了多少测试用例执行了多少,发现了多少bug,修改了多少,剩余bug的解决方案。测试的覆盖率
二、如何描述一个bug (1)测试版本(代码提交版本号)
(2)测试环境因为在不同的测试环境问题出现的情况不一样
(3)测试步骤测试数据和执行测试的详细步骤(为了方便开发人员复现问题)(4)实际结果
(5)预期结果
(6)bug产生时的log日志,错误截图等附件
bug的级别(按公司)bug的生命周期
1、崩溃
系统崩溃,不能运行,死循环,数据库死锁,资源分配不均,黑屏,闪退,阻塞等用户使用时出现崩溃级别的bug时,回退到上一个稳定的历史版本
2、严重
服务器可以用,但不稳定,继续使用会产生严重错误;一级菜单错误,数据库插入用户数据错误威胁到用户的安全等
3、一般
系统可以稳定的运行,次要的功能没有实现,不影响用户的使用
4、建议(次要)
建议性的,比如提示信息重叠,界面排版等
一个bug从无到有的各种状态
文章图片
问题:发现了一个bug,开发人员修改了,通知测试人员验证,但是测试人员又复现了这个bug,是哪些可能的原因引起的
1、测试环境不一样
2、开发人员理解不到位,没有修改成功
3、代码,开发人员修改后,没有提交代码到远程,测试人员用的旧的(有问题的代码)进行测试
测试人员因为一个bug和开发人员发生冲突,该怎么做
1、检查自己的bug描述,是否描述清楚
2、从用户角度,说服开发人员
3、bug定级要有理有据,符合公司规范
4、测试人员要不断提升自己的专业技能和业务水平,权威性
5、找产品经理讨论问题的解决方案
如何设置弱网:抓包工具Charles
三、为什么测试前要设计测试用例 测试用例的概念:软件测试人员向被测试系统发起的一组集合,包括测试环境,测试数据,测试步骤,预期结果
1、测试用例是测试执行的依据
2、可以复用(回归测试的时候)
3、衡量需求的覆盖率
4、自动化测试的依据
5、借鉴意义,后续测试人员可以借鉴前人写的东西
四、基于需求设计测试用例 1、需求是测试人员进行测试的依据
2、测试人员首先要分析需求,验证需求的正确性和合理性,无二义性,逻辑自洽
3、细化需求,从需求中提取测试项,从每一个测试项中提取测试点,根据测试点设计测试用例
功能化需求
从界面考虑,验证界面的功能(UI设计稿)
从业务角度考虑,把功能串起来进行测试
功能之间的交互性,一致性一个功能的多个输入(不同的输入)功能的异常测试功能的易用性,体验性的测试功能涉及到的算法
非功能化需求
在功能的基础上做一些限制,满足特定场景的需求,让用户有更好的体验
兼容性,性能,安全性,容错性,可靠性,可移植性,易用性等
不同类型的软件对于非功能性需求要求是不一样
(1)客户端的软件,word,ppt,xmind,播放器,对功能和要求很简单,对性能,安全性要求比较低,软件的可移植性要求比较高
(2)企业软件,聊天软件,企业微信,飞Q,飞书,钉钉,对功能有一定的要求,对兼容性,安全性,性能要求比较低
(3)商业软件,对功能,性能,安全性,可移植性,易用性,要求都很高
无遗漏的测试完整个页面:从上到下,从左到右
设计测试用例的方法 等价类 根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类,从每一个等价类当中取一个测试用例进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价类测试通过
等价类可以解决测试用例无法穷举的情况
符合需求规格说明书的数据称之为有效等价类
不符合需求规格说明书的数据称为无效等价类
测试的时候有效等价类和无效等价类都需要进行测试
举例:
测试账号
用户要求:6–18个字符,以字母开头,字母、数字、下划线
符合需求的等价类有哪些?
6–18位,以字母开头,纯字母
6–18位,以字母开头,数字
6–18位,以字母开头,下划线
6–18位,以字母开头,数字下划线
不符合需求的等价类有哪些?
小于6位,任意字符(字母、数字、下划线)
大于18位,任意字符(字母、数字、下划线)
6–18位,不以字母开头的字符串
6–18位,以字母开头,包含特殊字符(非数字和下划线的字符)
边界值 对输入输出的边界值针对性的进行测试用例的设计,叫做边界值法
边界周围的值
等价类和边界值往往是结合在一起进行测试用例的设计
错误猜测法 测试人员依据自己的经验、知识、个人直觉判断软件哪一块有问题(主观),针对性的设计测试用例,过度于依赖个人,不能使测试系统化,适合于补充测试用例,或者进行探索性测试的时候
例一,在数据库中寻找名字为“蓝胖子”的信息,如果用户不小心在名字前后加了空格“ 蓝胖子 ”,会搜索不到任何信息,是因为计算机将空格也当做有效字符了
解决办法:把前后空格去掉再去匹配 java.trim()
例二,查询信息:50条数据且数据都不重复,每一页只展示10条,
翻页查看的时候,发现不同的页面有重复的相同数据出现,是因为数据没有经过排序展示
解决办法:对数据进行排序
场景法 把一个个孤立的功能串起来形成一个场景,每一个功能不同的输入会触发流程走向不同的场景,根据这些不同功能的不同输入触发形成的场景进行测试用例的设计。
提取中场景中涉及的功能点,考虑每一个功能不同的输入。
举例:ATM机取款流程
文章图片
ATM机取款流程测试用例:
- 卡插反,提示“无法识别”,重新正确插入,操作正常的情况下可以取款成功
- 卡消磁,提示“您插入的卡无效”,无法取款
- 卡锁定,提示“账户被锁定,请解锁后重新操作”
- 密码输入为空,提示“密码为空,请输入密码”,正确输入密码后,取款成功
…
根据因果图法分析和设计测试用例
使用场景:当输入有多个,并且不同的输入组合对应着不同的输出,可以用因果图来进行测试用例分析,根据分析的结果来设计测试用例。
因果图的几种关系:
1、恒等:输入为真,输出为真
2、与:当输入条件有多个,多个条件都为真的情况下,输出才为真
3、或:当输入条件有多个,其中有一个条件为真,输出为真
4、非:输入为真,输出为假 / 输入为假,输出为真
正交法 【测试|【软件测试】基础用例篇】根据正交性,从大量的实验数据中,选取最优的数据组合,根据最优的数据组合的结果来衡量整个测试的输出结果
推荐阅读
- 笔记|软件测试(二)——软件测试基础篇
- 软件测试|软件测试(基础篇)
- 测试用例|作为一名优秀的软件测试工程师,需要具备哪些能力()
- iscsi设备的部署,使用2台服务器进行挂载测试(1/3)
- JAVA SQL注入测试
- 性能测试方案(计划)模板
- 记一次对钓鱼诈骗网站的测试
- 信而泰一体化智能测试,助力客户降本增效
- 面试|PHP 基础知识