国际化测试中的边界值

本文探讨了边界值测试在国际化测试中的应用。通过区分一般边界值、一般最坏边界值、健壮边界值和健壮最坏边界值,解释了不同测试用例设计的方法。在面对国际化场景时,举例说明了如何利用理论设计测试用例,强调了边界值测试与字符长度限制的关联,并讨论了在单个组件和多个组件通信中边界值测试的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说起边界值测试,大家应该都是如数家珍了。作为一种常用的黑盒测试方法,他通常会和等价类划分一起配合,帮助测试人员有效地进行测试用例设计。而编写边界值测试用例的基本步骤通常可以分为如下两点。

1. 根据设计文档或输入输出框提示信息确定边界值

2. 选取等于、略大于、略小于边界的值作为测试数据


边界值测试分类

按照是否有效以及变量个数,边界值可以严格的分为如下四种。

 

单变量假设

多变量假设

有效值

一般边界值

一般最坏边界值

无效值

健壮边界值

健壮最坏边界值

 

一般边界值

即仅考虑有效区间单个变量的边界值:用最小值、略高于最小值、正常值、略低于最大值和最大值。设被测变量个数为n,则测试用例个数为4n+1。函数y=f(x1, x2)输入变量的取值范围分别为: x1∈[a, b],x2∈[c, d]


一般最坏边界值

即仅考虑有效区间多个变量边界值同时作用时的边界值:用各个变量最小值、略高于最小值、正常值、略低于最大值和最大值的笛卡尔积。设变量个数为n,则测试用例个数为5函数 y=f(x1,x2)输入变量的取值范围分别为: x1∈[a, b],x2∈[c, d]


健壮边界值

即考虑单个变量有效值和无效值的边界值情况:除了最小值、略高于最小值、正常值、略低于最大值、最大值,还要有略超过最大值和略小于最小值的值。设变量数为n,则测试用例数为6n+1。函数y=f(x1, x2)输入变量的取值范围分别为: x1∈[a, b],x2∈[c, d]


健壮最坏边界值

即同时考虑多个变量有效区和无效区同时作用的情况:用各个变量最小值、略高于最小值、正常值、略低于最大值、最大值、略大于最大值和略小于最小值的笛卡尔积。设被测变量个数为n,则测试用例个数为7n函数y=f(x1, x2)输入变量的取值范围分别为:x1∈[a, b],x2∈[c, d]


理论阐述完毕,然而问题来了,这些理论都是为功能服务的,与国际化有什么关系呢?嗯,看看下面这则场景吧,让我们一起理论联系实际,设想一下如果面对这样standalone的case,如何使用上述理论来进行国际化测试用例设计吧。


(5秒钟后……)

1. 使用length 47的super string

2. 使用length=47的super string

3. 使用length<47的super string

4. 使用length>47的native string

5. 使用length=47的native string

6. 使用length<47的native string

7. 使用空string

8. 使用默认string

 

非常感谢大家让我瞬间就收集到了这些test case,看来大家对边界值理论早已谙熟于胸啦!不过在笔者看来,这个scenario我们没必要进行国际化测试,因为这是一个纯功能验证点!

“……不对啊,我们用中文输入只能输入16个字符就报错,但用法文输入16个就没报错,这分明是i18n bug嘛”有人反驳道。

这里需要提醒各位的是,本案中boundary设定的是47 byte,不是char哦。


“那么按照你的理解,边界值测试跟国际化无关喽?”有人继续追问。

不!为了详细说明该问题,这里需要进行细分,大抵可以分为如下两种情况。

1. 单个component中的边界值,即单变量情况

2. 多个需要通信的component中的边界值,即多变量情况

这下大家是否都了然了呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值