求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
软件测试
1.教程
2. 软件测试原则
3. 软件开发生命周期(SDLC)
4. 软件测试命周期(STLC)
5. 软件测试的类型
6. 测试成熟度模型
7. 测试级别
SDLC 模型
1.瀑布模型
2.螺旋模型
3.混合模型
4.原型模型
5. V模型/V和V模型/验证和验证模型
测试的类型
1.手动测试
2.自动化测试
手册的类型
1.白盒测试
2.黑盒测试
3.灰盒测试
白盒技术
1.数据流测试
2.控制流测试
3.分支覆盖测试
4.语句覆盖率测试
5.决策覆盖率测试
黑盒技术
1.决策表
2.全对测试
3.黑盒测试中的因果图
4.状态转换技术
5.用例技术
黑盒的类型
1.功能测试
2.非功能性测试
功能类型
1.单元测试
2.集成测试
3.系统测试
非功能性的类型
1.性能测试
2.易用性测试
3.兼容性测试
测试用例开发
1.测试文档
2.测试场景
3.测试用例
测试技术
1.错误猜测技术
2.等效分区技术
3.边界值分析
测试管理
1.测试计划
2.测试用例审查过程
3.需求可追溯性矩阵
缺陷跟踪
1.软件测试中的错误
2.Bug生命周期
3.测试中bug的严重性和优先级
4.测试环境
5.缺陷管理过程
其他类型的测试
1.回归测试
2.冒烟测试
3.健全性测试
4.静态测试
5.动态测试
6.负载测试
7.压力测试
8.恢复测试
9.探索性测试
10.可视化测试
11.验收测试
12.Alpha 测试
13.Beta 测试
14.数据库测试
15.主机测试
16.Adhoc测试
17.全球化测试
18.变异测试
19.安全测试
20.可访问性测试
21.结构测试
22.批量测试
23.可伸缩性测试
24.稳定性测试
25.峰值测试
26.负面测试
27.正面测试
28.耐久性测试
29.可靠性测试
30.Monkey测试
31.敏捷测试
32.组件测试
33.GUI测试
34.测试策略
软件测试工具
1.软件测试工具
2.测试管理工具
3.缺陷/Bug跟踪工具
4.自动化测试工具
5.性能测试工具
6.跨浏览器测试工具
7.集成测试工具
8.单元测试工具
9.移动测试工具
10.GUI测试工具
11.安全测试工具
12.渗透测试工具
差异
1.自动化测试与手动测试
2.负载测试与压力测试
3.冒烟测试和健全性测试之间的差异
4.系统测试和验收测试之间的差异
5.质量保证与质量控制
6.静态测试与动态测试
7.验证和确认测试
8.Alpha 测试和 Beta 测试
9.黑盒测试与白盒测试与灰盒测试
10.全球化测试和本地化测试之间的区别
11.测试用例与测试场景
12.测试计划 VS.测试策略
13.边界值分析和等价划分之间的差异
14.SDLC VS.STLC
15.Bug, Defect, Error, Fault 和 Failure之间的区别
16.测试和调试之间的区别
17.前端测试 VS.后端测试
18.HLD和LLD的区别
19.BRS vs SRS
20.正面测试和负面测试之间的区别
21.自上而下和自下而上的集成测试之间的区别
22.用例和测试用例之间的区别
23.Monkey 测试 VS Gorilla 测试
24.Stubs和Drivers之间的区别
25.组件测试和单元测试之间的区别
26.软件测试和嵌入式测试之间的区别
27.GUI 测试和可用性测试之间的差异
28.SDET和Tester的区别
29.桌面应用程序测试、客户端-服务器应用程序测试和 Web 应用程序测试之间的区别
30.主动测试
31.什么是API
32.自动化测试
 
 
目录
语句覆盖率测试
来源:Javatpoint     翻译:Linda (火龙果软件)
807 次浏览
4次  

语句覆盖率是广泛使用的软件测试之一。它属于白盒测试。

语句覆盖技术用于设计白盒测试用例。此技术涉及至少执行一次源代码的所有语句。它用于计算源代码中存在的语句总数中的源代码中执行的语句总数。

语句覆盖率派生出基于代码结构的白盒测试流程下测试用例的场景。

在白盒测试中,测试人员的注意力集中在内部源代码和代码的流程图或流程图上。

通常,在内部源代码中,有各种各样的元素,如运算符、方法、数组、循环、控制语句、异常处理程序等。根据提供给程序的输入,执行一些代码语句,而某些代码语句可能不会执行。语句覆盖技术的目标是覆盖代码中所有可能的执行语句和路径行。

让我们通过一个例子来了解计算语句覆盖率的过程:

在这里,我们采用源代码根据输入值创建两个不同的场景,以检查每个场景的语句覆盖率百分比。

源代码结构:

  • 输入两个值,如 a=0 和 b=1。
  • 求这两个值的总和。
  • 如果总和大于 0,则打印“这是正结果”。
  • 如果总和小于 0,则打印“这是负结果”。
input (int a, int b)
{
Function to print sum of these integer values (sum = a+b)
If (sum>0)
{
Print (This is positive result)
} else
{
Print (This is negative result)
}
}

 

所以,这是程序的基本结构,这就是它将要执行的任务。

现在,让我们看看两种不同的场景以及给定源代码的语句覆盖率百分比的计算。

场景 1:

如果 a = 5,b = 4

print (int a, int b) {
int sum = a+b;
if (sum>0)
print ("This is a positive result")
else
print ("This is negative result")
}

 

在场景 1 中,我们可以看到 sum 的值将为大于 0 的 9,根据条件结果将为“这是一个正结果”。以黄色突出显示的语句是此方案的已执行语句。

要计算第一个方案的语句覆盖率,取语句总数为 7,使用的语句数为 5。

Total number of statements = 7
Number of executed statements = 5

 

Statement coverage = 5/7*100
= 500/7
= 71%

 

同样,在场景 2 中,

场景 2:

如果 A = -2,B = -7

print (int a, int b) {
int sum = a+b;
if (sum>0)
print ("This is a positive result")
else
print ("This is negative result")
}

 

在场景 2 中,我们可以看到 sum 的值将是小于 0 的 -9,根据条件,结果将是“这是一个负面结果”。以黄色突出显示的语句是此方案的已执行语句。

要计算第一个方案的语句覆盖率,取语句总数为 7,使用的语句数为 6。

语句总数 = 7 执行的语句

数 = 6

Statement coverage = 6/7*100 <br>
= 600/7
= 85%

 

但是,我们可以看到所有语句都包含在这两种情况下,我们可以认为整体语句覆盖率为 100%。

因此,语句覆盖技术涵盖死代码、未使用代码和分支。

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



807 次浏览
4次