- 软件测试的基本概念
- 关于软件测试
- 作为一个测试人员,这些基础知识必不可少
这个在前面其实已经说过了,具体可以看软件测试的基本概念 这篇博客,这里就简单介绍一下:测试用例是向被测试系统发起的一组集合,包括测试环境,测试步骤,测试数据,预期结果!
这里有如下几个原因:
需求是测试人员进行测试的依据,测试人员分析需求,验证需求的合理性和正确性,无二义性,从需求当中提取出测试项,根据测试项进行进一步的细分,提取出测试点,来编写测试用例,可以有以下方面的考虑:
我们可以根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类,然后从每一个等价类中选择一个或多个测试用例来进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价类测试通过!通过这样的方法,我们就可以解决测试用例无法穷举的情况!
另外等价类也可以分成有效等价类(符合用户需求数据规格说明的数据集合)和无效等价类(不符合用户需求数据规格说明的数据集合),而如果进行测试的话,有效等价类和无效等价类都是需要进行测试的,保证"万无一失"!
做一个简单的练习:假设一个用户名是必填的6-15个其字符类型为A-Z不区分大小写:
有效等价类:6~15个大写字符,6 ~15个小写字母.6 ~ 15个大小写混合
无效等价类:小于6个字符,大于15个字符,6 ~ 15个其他字符,数字+字母,数字+特殊字符,特殊字符+字母
针对输入和输出的边界进行测试用例的设计,假设是6 ~ 15位,5不合格,6,7合格,14,15合格,16不合格;因此边界值不仅要区边界上的值,而且要取边界两边的值,看另外边界值和等价类是结合在一起进行测试用的设计的!
这个方法主要是根据测试人员的经验,以及知识的积累,猜测某一块功能是否存在问题,有针对性的进行测试用例的编写,这是一个探测性测试,针对性比较强,比较依赖测试人员的个人水平,例如搜索框中的空格问题,就需要测试人员来进行猜测测试!
很多软件不同的场景,是基于不同的事件的触发,不同事件的触发,导致场景走向不同的事件流,而不同的功能点串起来形成一个场景,不同的功能点又有不同的输出,不同的输出导致不同的测试场景,这里可以模拟一个ATM的取款场景: 插卡 – 输入密码 – 输入取款钱数 – 取款 – 退卡,然后根据每一个功能就可以有很多的测试用例:
- 插卡:插错卡(各种其他的卡,非银行卡),卡插反了,非本银行的银行卡,银行卡的磁条无法识别,卡损坏了,卡号冻结,账户锁死了,网络不好,无法识别…
- 输入密码:不输密码直接确认,输入错误的密码,输入错误的密码,密码输入错误超过三次,账户锁定,密码输入框是否支持删除输入操作,测试密码是否加密…
- 输入取款钱数:输入小于卡余额的钱数,输入大于卡余额的钱数,输入等于卡余额的钱数,不输入取钱按钮是否可以执行…
- 取款:输入小于等于卡余额的钱数取款成功,输入大于卡余额的钱数取款失败并显示余额不足,超过每日取款余额的上限,超过每日取款次数的上限…
- 退卡:取钱后正常退卡,操作超时吞卡…
- ATM机:ATM一切正常,ATM机出现异常(ATM余额不足,ATM机断电,断网,硬件故障,软件系统崩溃)无法执行上面功能,发生异常情况ATM机是否支持事务回滚…
上面都只是一些简单的测试点,不是具体的测试用例,如果测试用例的话,需要更加具体,而这个就是场景法的具体用处!
因果图法是一种逻辑图,恒等,与,或,非,用因果图来设计测试用例,叫做因果图法,其的使用场景:当我们有很多输入,不同的输入或者不同的输入组合针对有不同的输出,此时我们就可以用因果图法来进行测试用例的设计,下面来看一下各种因果图:
而因果图设计测试用例的步骤:
根据正交法来设计测试用例,就是从大量的试验数据(测试数据)来根据正交原则取出最优的数据的组合,根据最优的数据组合试验的结果,来分析整个测试的结果,这个使用的不多,因此就不过多介绍了!
以上就是所有关于测试用例的内容了,测试用例对于测试人员来说是非常重要的,因此一定要多多练习,多使用这些方法来构造测试用例!!!