求知 文章 文库 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     翻译:Alice (火龙果软件)
1691 次浏览
3次  

灰盒测试是一种软件测试方法,通过对内部工作结构的部分了解来测试软件应用程序。它是黑盒和白盒测试的结合,因为它涉及到访问内部代码来设计测试用例,因为白盒测试和测试实践是在功能级别上作为黑盒测试完成的。

灰盒测试通常识别属于 Web 系统的特定于上下文的错误。例如;在测试时,如果测试人员遇到任何缺陷,那么他会更改代码以解决缺陷,然后再次实时测试。它专注于任何复杂软件系统的所有层,以增加测试覆盖率。它提供了测试表示层和内部编码结构的能力。它主要用于集成测试和渗透测试。

为什么要进行灰盒测试?

灰盒测试的原因如下

  • 它提供了黑盒测试和白盒测试的综合优势。
  • 它同时包括开发人员和测试人员的输入值,以提高产品的整体质量。
  • 它减少了长时间的功能和非功能测试过程的时间消耗。
  • 它为开发人员提供了足够的时间来修复产品缺陷。
  • 它包括用户的观点,而不是设计师或测试人员的观点。
  • 它涉及从用户的角度深入审查需求和确定规格。

 

灰盒测试策略

灰盒测试并不意味着测试人员必须从源代码设计测试用例。为了执行这种测试,可以基于架构、算法、内部状态或其它高级描述的程序行为来设计测试用例。它使用黑盒测试的所有简单技术进行功能测试。测试用例的生成基于需求,并在通过断言方法测试程序之前预设所有条件。

执行灰盒测试的一般步骤是:

  1. 首先,从黑盒和白盒测试输入中选择并识别输入。
  2. 其次,确定这些选定输入的预期输出。
  3. 第三,确定在测试期间要遍历的所有主要路径。
  4. 第四个任务是确定子功能,这些子功能是执行深层测试的主要功能的一部分。
  5. 第五项任务是识别子函数的输入。
  6. 第六项任务是确定子函数的预期输出。
  7. 第七个任务包括执行子函数的测试用例。
  8. 第八项任务包括验证结果的正确性。

为灰盒测试设计的测试用例包括安全相关、浏览器相关、GUI 相关、操作系统相关和数据库相关测试。

灰盒测试技术

矩阵测试

这种测试技术属于灰盒测试。它定义了特定程序的所有已使用变量。在任何程序中,变量都是值可以在程序内传输的元素。它应该按照要求,否则,它会降低程序的可读性和软件的速度。矩阵技术是一种通过从程序中识别使用的变量来删除未使用和未初始化的变量的方法。

回归测试

回归测试用于验证软件任何部分的修改没有对软件的任何其他部分造成任何不利或意外的副作用。在确认测试期间,任何缺陷都得到了修复,并且软件的该部分开始按预期工作,但修复的缺陷可能会在软件中的其他地方引入不同的缺陷。因此,回归测试通过测试策略来处理这些类型的缺陷,例如重新测试风险用例、在防火墙内重新测试、重新测试所有缺陷等。

正交阵列测试或 OAT

此测试的目的是使用最少的测试用例覆盖最多的代码。测试用例的设计方式可以涵盖最大代码以及具有较少数量的测试用例的 GUI 功能。

模式测试

模式测试适用于遵循与以前软件相同的模式开发的此类软件。在这些类型的软件中,可能会出现相同类型的缺陷。模式测试确定故障原因,以便可以在下一个软件中修复它们。

通常,Greybox方法中使用自动化软件测试工具来执行测试过程。提供给测试人员的存根和模块驱动程序,以减轻手动代码生成。

 


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

1元 10元 50元





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



1691 次浏览
3次