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

 

软件测试是实现软件或应用程序以识别bug或错误的过程。为了测试应用程序或软件,我们需要遵循一些原则来使我们的产品没有bug,这也有助于测试工程师用他们的精力和时间来测试软件。在这里,在本节中,我们将了解软件测试的七个基本原则。

让我们一一看看七种不同的测试原则:

  • 测试显示存在bug
  • 无法进行详尽测试
  • 早期测试
  • bug聚类
  • 杀虫剂悖论(pesticide paradox)
  • 测试依赖于上下文
  • 错误谬论

测试显示存在bug

测试工程师将测试应用程序,以确保应用程序没有错误或bug。在进行测试时,我们只能确定应用程序或软件是否存在任何错误。进行测试的主要目的是借助各种方法和测试技术来识别未知错误的数量,因为整个测试应该可追溯到客户的需求,这意味着找到可能导致产品故障的任何bug以满足客户的需求。

通过对任何 应用程序,我们可以减少错误的数量,这并不意味着应用程序没有bug,因为有时软件在对其执行多种类型的测试时似乎没有错误。但是在生产服务器中部署时,如果最终用户遇到那些在测试过程中未发现的错误。

无法进行详尽测试

有时,在整个实际测试过程中,使用输入数据的有效和非有效组合来测试所有模块及其功能似乎非常困难。

因此,而不是执行详尽的测试,因为它需要无限的决心,并且大部分艰苦的工作都是不成功的。因此,我们可以根据模块的重要性完成这种类型的变化,因为产品时间表不允许我们执行此类测试场景。

早期测试

这里的早期测试意味着所有的测试活动都应该在软件开发生命周期的需求分析阶段的早期阶段开始,以识别bug,因为如果我们在早期阶段发现错误,它将在初始阶段本身得到修复,与测试过程的未来 阶段 相比,我们的成本可能要低得多。

要执行测试,我们将需要需求规范文档;因此,如果需求定义不正确,则可以直接修复,而不是在另一个阶段(可能是开发阶段)修复它们。

bug聚类

bug聚类定义了在整个测试过程中,我们可以检测与少量模块相关的错误数量。我们对此有多种原因,例如模块可能很复杂;编码部分可能很复杂,依此类推。

这些类型的软件或应用程序将遵循 帕累托 原则,该原则指出我们可以识别该近似值。80%的并发症存在于20%的模块中。借助此功能,我们可以找到不确定的模块,但是如果定期执行相同的测试,则此方法存在困难,因此相同的测试将无法识别新的bug。

杀虫剂悖论(pesticide paradox)

该原则定义,如果我们在特定时间内一次又一次地执行同一组测试用例,那么这些类型的测试将无法在软件或应用程序中找到新的错误。为了克服这些杀虫剂悖论(pesticide paradox),经常查看所有测试用例非常重要。并且需要编写新的和不同的测试来实现应用程序或软件的多个部分,这有助于我们找到更多错误。

测试依赖于上下文

测试是一个依赖于上下文的原则,说明我们有多个领域,如电子商务网站、商业网站等在市场上可用。有一种明确的方法来测试商业网站和电子商务网站,因为每个应用程序都有自己的需求、特性和功能。为了检查这种类型的应用程序,我们将借助各种测试,不同的技术,方法和多种方法。因此,测试取决于应用程序的上下文。

无错误谬论

一旦应用程序经过全面测试并且在发布之前没有发现错误,那么我们可以说该应用程序 99% 没有错误。但是,当应用程序在不正确的需求旁边进行测试,识别bug并在给定的时间段内修复它们时,有可能无济于事,因为测试是在错误的规范上进行的,这不适用于客户的需求。没有错误谬误意味着如果应用程序不切实际并且无法满足客户的需求和需求,识别和修复错误将无济于事。


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

1元 10元 50元





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



1157 次浏览
3次