静态测试和动态测试的区别有哪些

静态测试和动态测试的区别有哪些,第1张

首先明白什么是静态?什么是动态?静态动态最根本的区别就在于“程序是否是运行的”。静态就是不运行程序去测试,那么又要问了:不运行怎么测试呢?那最简单的静态测试方法就是“code review”也就是看代码。看代码有没有什么地方明显是错误的。我们平时用的compile(编译)其实就是最好的静态测试,这是让编译器帮我们去读代码。那么什么是动态呢?和静态相反啊。我们写测试用例然后去跑程序这种就是动态。一些单元测试,系统测试,集成测试都属于动态测试。

需求评审是静态测试。

该理论属于软件测试的范畴。在这个范畴里面静态测试主要包含三种:需求评审、用例评审、代码走查。所以需求评审是静态测试。

静态测试的需求评审的特点是通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。

静态测试的特点:

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。

静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、

1、从是否关心内部结构来看

(1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。

(2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。

(3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。

2、从是否执行代码看

(1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

(2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。

3、从开发过程级别看

(1)单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。

(2)集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。

(3)系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

在系统测试中,对于具体的测试类型有:

(1)功能测试:对软件需求规格说明书中的功能需求逐项进行的测试,以验证功能是否满足要求。

(2)性能测试:对软件需求规格说明书的功能需求逐项进行的测试,以验证功能是否满足要求。

(3)接口测试:对软件需求规格说明中的接口需求逐项进行的测试。

(4)人机交互界面测试:对所有人机交互界面提供的 *** 作和显示界面进行的测试,以检验是否满足用户的需求。

(5)强度测试:强制软件运行在异常乃至发生故障的情况下(设计的极限状态到超出极限),验证软件可以运行到何种程序的测试。

(6)余量测试:对软件是否达到规格说明中要求的余量的测试。

(7)安全性测试:检验软件中已存在的安全性、安全保密性措施是否有效的测试,

(8)可靠性测试:在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能(其输入覆盖和环境覆盖一般大于普通的功能测试)

(9)恢复性测试:对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试。

(10)边界测试:对软件处在边界或端点情况下运行状态的测试。

(11)数据处理测试:对完成专门数据处理功能所进行的测试。

(12)安装性测试:对安装过程是否符合安装规程的测试,以发现安装过程中的错误。

(13)容量测试:检验软件的能力最高能达到什么程度的测试。

(14)互 *** 作性测试:为验证不同软件之间的互 *** 作能力而进行的测试。

(15)敏感性测试:为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。

(16)标准符合性测试:验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准及国际标准)一致性的测试。

(17)兼容性测试:验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。

(18)中文本地化测试:验证软件在不降低原有能力的条件下,处理中文能力的测试。

4、从执行过程是否需要人工干预来看

(1)手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。

(2)自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)

5、从测试实施组织看

(1)开发测试:开发人员进行的测试

(2)用户测试:用户方进行的测试

(3)第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性

6、从测试所处的环境看

(1)阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际 *** 作环境下进行的测试

(2)贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告

扩展资料

软件测试的内容:

1得到需求、功能设计、内部设计说书和其他必要的文档

2得到预算和进度要求

3确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程(例如发行过程、变更过程、等等)

4确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制

5确定测试的步骤和方法──部件、集成、功能、系统、负载、可用性等各种测试

6确定对测试环境的要求(硬件、软件、通信等)

7确定所需的测试用具(testware),包括记录/回放工具、覆盖分析、测试跟踪、问题/错误跟踪、等等

8确定对测试的输入数据的要求

9分配任务和任务负责人,以及所需的劳动力

10设立大致的时间表、期限、和里程碑

11确定输入环境的类别、边界值分析、错误类别

12准备测试计划文件和对计划进行必要的回顾

13准备白盒测试案例

14对测试案例进行必要的回顾/调查/计划

15准备测试环境和测试用具,得到必需的用户手册/参考文件/结构指南/安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据

16得到并安装软件版本

17进行测试

18评估和报告结果

19跟踪问题/错误,并解决它

20如果有必要,重新进行测试

21在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具

参考资料:

百度百科-软件测试

软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。

静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。

动态测试主要包括白盒测试方法和黑盒测试方法。

分为四类:静态测试方法、动态测试、黑盒测试、白盒测试

1、静态测试方法

静态测试方式指软件代码的静态分析测验,此类过程中应用数据较少,主要过程为通过软件的静态性测试测试程序中运算方式、算法的正确性,进而完成测试过程。

此类测试的优点在于能够消耗较短时间、较少资源完成对软件、软件代码的测试,能够较为明显地发现此类代码中出现的错误。静态测试方法适用范围较大,尤其适用于较大型的软件测试。

2、动态测试

计算机动态测试的主要目的为检测软件运行中出现的问题,较静态测试方式相比,其被称为动态的原因即为其测试方式主要依赖程序的运用,主要为检测软件中动态行为是否缺失、软件运行效果是否良好。

其最为明显的特征即为进行动态测试时软件为运转状态,只有如此才能于使用过程中发现软件缺陷,进而对此类缺陷进行修复。目前动态测试过程中可包括两类因素,即被测试软件与测试中所需数据,两类因素决定动态测试正确展开、有效展开。

3、黑盒测试

通过数据输入观察数据输出,检查软件内部功能是否正常。测试展开时,数据输入软件中,等待数据输出。数据输出时若与预计数据一致,则证明该软件通过测试,若数据与预计数据有出入,即便出入较小亦证明软件程序内部出现问题,需尽快解决。

4、白盒测试

测试过程中常将其与软件内部结构协同展开分析,最大优点即为其能够有效解决软件内部应用程序出现的问题,测试过程中常将其与黑盒测试方式结合,当测试软件功能较多时,白盒测试法亦可对此类情况展开有效调试。

实际检测中,白盒测试法常与黑盒检测法并用,以动态检测方式中测试出的未知错误为例,首先使用黑盒检测法,若程序输入数据与输出数据相同,则证明内部数据未出现问题,应从代码方面进行分析,若出现问题则使用白盒测试法,针对软件内部结构进行分析,直至检测出问题所在,及时加以修改。

扩展资料

软件测试策略

1、单元测试

单元测试即为将整个软件分解为各个单元,随后对单元进行测试。此类测试策略的优点在于所需分析数据较少,且针对性较强,程序开发者于开发过程中可通过 *** 作经验明确出现问题的大致区域,随后针对此类问题对相关单元展开分析,进行问题排查。

但需注意的是,某些程序中无具体单元驱动程序,即单个单元无法有效驱动,易出现问题,若针对此类软件展开测试,需重点注意此类分解单元。

2、集成测试

集成测试与单元测试相反,原理为将部分需测试部分作为整体进行集成,随后针对此类集成部分进行测试。测试要求为此类被测试集成题应具有一定的结构,且属于非渐增方式集成。

对于较大软件而言,集成测试方式较单元测试方式而言较为繁琐,渐增测试方式为集成测试方式的衍生,其能够按照不同次序对软件进行测试,日常测试中,常将两类方式进行集成测试,随后按照次序展开选择。

参考资料来源:百度百科—软件测试

以上就是关于静态测试和动态测试的区别有哪些全部的内容,包括:静态测试和动态测试的区别有哪些、需求评审是静态测试吗、软件测试中产品许可测试属于动态测试还是静态测试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10073767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存