测试方法

一、白盒测试:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖

1、白盒判定覆盖的准则是:将一个判断中的每个条件的所有可能的结果至少执行一次,将每个判断的所有可能的结果至少执行一次,将每个入口点都至少调用一次

2、多重条件覆盖准则:将每个判定中的所有可能的条件结果的组合,以及所有的入口点都至少执行一次

3、总的来说,对于包含每个判断只存在一种条件的程序,最简单的测试准则就是设计出足够数量的测试用例,实现:

(1)、将每个判断的所有结果都至少执行一次

(2)、将所有的程序入口都至少调用一次,以确保全部的语句都至少执行一次

而对于包含多重条件判断的程序,最简单的测试准则是设计出足够数量的测试用例,将每个判断的所有可能的条件结果的组合,以及所有的入口点都至少执行一次

 

二、黑盒测试:等价类划分、边界值分析、因果图分析、错误猜测

1、等价划分设计测试用例主要有两个步骤:1)确定等价类   2)生成测试用例

1)确定等价类

确定等价类是选取每一个输入条件(通常是规格说明中的一个句子或短语)并将其划分为两个或更多的组。可以使用下图表格来划分。

等价类列举表
外部条件有效等价类无效等价类
   

有效等价类代表对程序的有效输入,而无效等价类代表的则是其它任何可能的输入条件(即不正确的输入值)。

 

等价类的指导原则为:

a)如果输入条件规定了一个取值范围(例如,“数量可以是从1到999”),那么就应该确定出一个有效等价类(1<数量<999),以及两个无效等价类(数量<1,数量>999)

b)如果输入条件规定了取值的个数(例如,“汽车可登记一至六名车主”),那么就应确定出一个有效等价类和两个无效等价类(没有车主,或车主多于6个)

c)如果输入条件规定了一个输入值的集合,而且有理由认为程序会对每个值进行不同处理(例如,“交通工具的类型必须是公共汽车、卡车、出租车、火车或摩托车”),那么就应该为每个输入值确定一个有效等价类和一个无效等价类(例如,“拖车”)

d)如果存在输入条件规定了“必须是”的情况,例如“标识符的第一个字符必须是字母”,那么就应确定一个有效等价类(首字符是字母)和一个无效等价类(首字符不是字母)

 

 

2)生成测试用例

a)为每个等价类设置一个不同的编号

b)编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖(包含进去)

c)编写新的用例,覆盖一个且仅一个尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖

 

2、边界值分析

边界条件,是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。

边界值分析法与等价划分存在两方面不同:

1)与从等价类中挑选出任意一个元素作为代表不同,边界值分析需要选择一个或多个元素,以便等价类的每个边界都经过一次测试

2)与仅仅关注输入条件(输入空间)不同,还需要考虑从结果空间(输出等价类)设计测试用例

 

3、因果图

因果图有助于用一个系统的方法选择出高效的测试用例集。太还有一个好处,就是可以指出规格说明的不完整性和不明确之处。

因果图是一种形式语言,用自然语言描述的规格说明可以转换为因果图。因果图实际上是一种数字逻辑电路(一个组合的逻辑网络),但没有使用标准的电子学符号,而是使用了稍微简单点的符号。

 

4、错误猜测

错误猜测主要是一项依赖于直觉的非正规的过程,因此很难描述出这种方法的规程。

 

三、测试策略总结

1、如果规格说明中包含输入条件组合的情况,应首先使用因果图分析方法

2、在任何情况下都应使用边界值分析法

3、应为输入和输出确定有效和无效等价类,在必要情况下对上面确认的测试用例进行补充

4、使用错误猜测技术增加更多的测试用例

5、针对上述测试用例集检查程序的逻辑结构

内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值