软件测试基本概念

软件测试是什么?
在规定条件下对软件系统进行审核、运行、评估,检验软件系统是否满足规定需求或者找出预期结果与实际结果之间的差别。为软件产品的质量和评价提供依据。

为什么进行软件测试?
确保软件完成了它所承诺或公布的功能。
确保软件满足性能和效率的要求。
确保软件是健壮的、适应用户的环境。
提早预防、尽早发现、及时跟踪软件缺陷,满足产品发布需求。

软件测试怎么测?

通过手工和自动化方式,利用各种测试工具和管理工具等手段、更早、更快、更多的发现缺陷,并确保这些缺陷得以修复。

软件测试对象?

软件程序。

与程序匹配的文档。

支撑软件运行的配置数据。

软件测试原则
1、有计划的尽早测试,解决问题的成本越小。
2、成功的测试在于发现迄今未发现的缺陷。
3、测试并不能保证软件100%的没有问题。
4、测试工作的本质都应追溯到用户需求。
5、测试的规模由小而大,从单元测试到系统测试。

6、Good-enough原则,穷举测试是不可能实现的。


软件测试分类

按测试阶段划分

1.单元测试:

完成对最小的软件设计单元模块的验证工作。对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试。
白盒测试技术,开发人员自己执行。

2.集成测试
通过测试的单元模块组装成子系统,然后再进行的测试,主要测试内容是接口。
集成测试大部分是接口测试和交互测试。
自顶向下
自底向上
3.系统测试
将整个软件系统全部集成好之后作为一个整体进行的测试。主要包括一下测试方向:
功能测试: 对产品的各功能进行验证,以检查是否满足需求的要求。
性能测试:通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
安全测试:检查系统对非法入侵的防范能力。
兼容测试: 测试系统在不同的软硬件环境下是否能够正常的运行。

4.用户验收/确认测试
Alpha测试
–用户在开发环境下进行的测试,Alpha测试是在一个受控的环境中进行的。
Beta测试
–由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者。


对代码的可见划分:

1.黑盒测试:

又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构。
常见的黑盒测试方法:
等价类划分
边界值分析
因果图
错误推测
场景法
2.白盒测试:
白盒测试也称结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行
白盒测试方法:逻辑覆盖(语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖)、循环覆盖(简单循环、嵌套循环、串接循环)。
3.灰盒测试:
灰盒测试介于黑盒测试与白盒测试之间。

其他测试分类:
回归测试:
对软件进行修改之后进行的测试,目的是检验对软件进行的修改是否正确。一是所做的修改达到了预定的目的,也就是确认测试,二是还要保证不影响软件的其他功能的正确性。

冒烟测试:
在软件中,“冒烟测试”是指测试版本的主要功能,如果能通过测试,才继续进行接下来的其它全功能测试。
对一个新版本进行大规模测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。目的是确认软件基本功能正常,可以进行后续的正式测试工作。

猜你喜欢

转载自blog.csdn.net/XingLongSKY/article/details/80170277