目录

一、为啥在测试前要先写测试用例?(测试用例的好处)

二、如何基于需求设计测试用例

1.测试人员首先要分析需求,验证需求的正确性和合理性,并且要无二义性,逻辑自洽

2.细化需求,从需求中提取测试项,从每一个测试项中提取测试点,根据测试点设计测试用例

 3.需求可以分为:

    (1)功能性需求:

    (2)非功能性需求:

注意:不同类型的软件对于非功能性需求的要求是不一样的

三、等价类

四、边界值法

五、错误猜测法

六、场景法

七、因果图法

1.如何用因果图法设计测试用例?

八、正交法(仅考选择)


一、为啥在测试前要先写测试用例?(测试用例的好处)

(1)测试用例是测试执行的依据

(2)可以复用(回归测试的时候)

(3)衡量需求的覆盖率

(4)自动化测试的依据

(5)借鉴意义,后续测试人员可以借鉴前人写的东西

二、如何基于需求设计测试用例

1.测试人员首先要分析需求,验证需求的正确性和合理性,并且要无二义性,逻辑自洽

2.细化需求,从需求中提取测试项,从每一个测试项中提取测试点,根据测试点设计测试用例

 3.需求可以分为:

    (1)功能性需求:

从界面的功能开始设计和分析,从上到下,从左到右,不能遗漏

从业务考虑,把功能串起来。比如,用注册成功后的账号密码去登陆,登陆成功

                                                         用注册失败后的账号密码去登录,登陆失败

一个功能的不同输入要进行测试。

功能之间的交互性、一致性。比如,微信朋友圈,你发的和好友看到的是一致的。

                                                        允许可见以外的人看不见。

                                                        教务系统,学生和老师的权限不同,老师可以看学生的信息

数据异常,异常操作的考虑

功能的易用性,体验性的测试。

功能涉及到的算法(白盒测试,要求理解代码)。比如,滴滴打车

    (2)非功能性需求:

在功能性需求上做一些限制,满足特定场景的需求,让用户有更好的体验

兼容性:保证主流浏览器的功能使用没有问题

性能:高峰期1000+个用户同时登陆,仍然能在一定时间内登录(3s)

安全性

可靠性

可移植性:在不同的国家,不同的系统上都可以使用、安装

易用性

注意:不同类型的软件对于非功能性需求的要求是不一样的

(1)客户端软件:PPT、Xmind、播放器对功能要求很简单,对性能、安全性要求较低,对软件的可移植性要求比较高

(2)企业软件,聊天软件,飞Q,飞书,钉钉,企业微信

对功能有一定的要求,对兼容性(某个教务系统最好在谷歌浏览器打开,可以指定员工在哪打开)、安全性、性能要求较低

(3)商业软件:对系统的功能、性能、安全性、兼容性、可移植性、易用性的要求都很高

三、等价类

根据输入(特殊情况下,才考虑输出),把输入划分成若干个等价类,从每一个等价类中,取一个测试用例,如果这个测试用例通过,我们就说这个测试用例代表的等价类通过。

等价类可以解决测试用例无法穷举的情况。

有效等价类:符合数据规格说明的数据集合

无效等价类:不符合数据规格说明的数据集合

测试的时候,只测试有效等价类吗?

不是,无效等价类也要进行测试。

四、边界值法

对输入输出的的边界,有针对性的设计测试用例,就叫边界值法

边界值有哪些?

例如,要求用户名长度是6-15位,且只能是大小写字母组成

长度是6,长度是15,这种都符合需求。

等价类和边界值一般是结合在一起进行测试用例的设计。

五、错误猜测法

测试人员依据自己的经验、知识、个人直觉判断软件哪一块有问题,针对性的设计测试用例。

适合补充测试用例,或者进行探索性测试的时候。

过度依赖于个人,不能使测试系统化。

六、场景法

把一个个孤立的功能串起来,形成一个场景。每一个功能,不同的输入,会触发流程走向不同的场景。根据不同功能的不同输入,触发不同场景进行测试用例的设计。

七、因果图法

因果图是一种逻辑图,恒等,与,或,非

根据因果图去分析和设计测试用例。

使用场景:当输入有多个,并且不同的输入组合对应着不同的输出,这时可以用因果图来进行测试用例的分析,根据分析的结果来设计测试用例。

因果图的几种关系:恒等,与,或,非

恒等:输入为真,输出为真

1.如何用因果图法设计测试用例?

(1)分析所有的输入和输出

(2)找出输入和输出之间的逻辑关系

(3)根据输入输出画因果图

(4)根据因果图画判定表

(5)根据判定表设计测试用例

八、正交法(仅考选择)

根据正交性从大量的试验数据中,选取最优的数据组合,根据最优的数据组合的结果,来衡量整个测试的输出结果。

05-07 13:26