软件测试方法概述

软件测试方法概述

从是否需要执行被车软件的角度分为静态和动态测试
  • 顾名思义,静态测试就是通过对被测程序的静态审查,发现代码中潜在的错误。它一般用人工方式脱机完成,故亦称人工测试或代码评审(Code Review);也可借助于静态分析器在机器上以自动方式进行检查,但不要求程序本身在机器上运行。
  • 动态测试是通常意义上的测试,即使用和运行被测软件。
从针对系统的外部功能和针对系统的内部结构分为黑盒和白盒测试
  • 黑盒测试是一种从用户角度出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。使用这种方法进行测试时,测试者在只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性.
  • 白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用。白盒测试又称为结构测试,逻辑驱动测试或基于程序的测试。即根据被测程序的内部结构设计测试用例,测试者需要预先了解被测试程序的结构。
从软件测试的策略和过程的角度,分为单元测试、集成测试、确认测试、系统测试和验收测试。

介绍

静态测试
测试活动

通常在静态测试阶段进行以下一些测试活动:
检查算法的逻辑正确性,确定算法是否实现了所要求的功能;
检查模块接口的正确性,确定形参的个数、数据类型、顺序是否正确,确定返回值类型及返回值的正确性;
检查输入参数是否有合法性检查。如果没有合法性检查,则应确定该参数是否不需要合法性检查,否则应加上参数的合法性检查;
检查调用其他模块的接口是否正确,检查实参类型、实参个数是否正确返回值是否正确。若被调用模块出现异常或错误,程序是否有适当的出错处理代码;
检查是否设置了适当的出错处理,以便在程序出错时,能对出错部分进行重做安排,保证其逻辑的正确性;
检查表达式、语句是否正确,是否含有二义性。例如,下列表达式或运算符的优先级:<=、=、〉=、&&、、++、–等;
检查常量或全局变量使用是否正确;
检查标识符的使用是否规范、一致,变量命名是否能够望名知义、简洁、规范和易记;
检查**程序风格的一致性、规范性,**代码是否符合行业规范,是否所有模块的代码风格一致、规范;
检查代码是否可以优化,算法效率是否最高;
检查代码注释是否完整,是否正确反映了代码的功能,并查找错误的注释

#####动态测试

基本步骤
黑盒测试

在这里插入图片描述

定义

黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问题或规格说明书的规定有误,用黑盒测试方法是发现不了的。黑盒测试方法着重测试软件的功能需求,是在程序接口上进行测试,主要是为了发现以下错误:
1.是否有不正确的功能,是否有遗漏的功能:
2.在接口上,是否能够正确地接收输入数据并产生正确的输出结果;
3.是否有数据结构错误或外部信息访问错误;
4.性能上是否能够满足要求;
5.是否有程序初始化和终止方面的错误。

特点

1.不考虑软件的具体实施过程

2.测试用例设计可以和软件实现

主要技术方法
  1. 等价类划分法
  2. 正交试验法
  3. 边界值分析法
  4. 错误推测法
  5. 因果图法
  6. 场景法
  7. 决策表法
优缺点介绍

黑盒测试的优点如下:
①适用于各个测试阶段;

②从产品功能角度进行测试;

③容易入手生成测试数据。

黑盒测试的缺点如下:
①某些代码得不到测试;

②如果规则说明有误,无法发现

③不易进行充分性测试。

白盒测试
定义

白盒测试(White-boxTesting)也称作结构测试或逻辑驱动测试。它是知道产品的内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行。按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作,而不顾它的功能。白盒测试的主要方法有逻辑覆盖、基本路径测试等,主要用于软件验证

主要结构覆盖方法

语句覆盖;判断覆盖;条件覆盖;判断/条件覆盖;条件组合覆盖;路径覆盖

黑盒和白盒测试比较

在这里插入图片描述

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
车载软件测试策略是指在车载软件开发过程中,为了确保软件质量和安全性,制定的一系列测试方法和策略。下面是车载软件测试策略的概述: 1. 需求分析和规划:在测试开始之前,需要对车载软件的需求进行详细分析,并制定测试计划和测试策略。这包括确定测试的范围、目标、资源和时间等。 2. 静态测试:静态测试主要是对车载软件的文档、代码和设计进行检查和审查,以发现潜在的问题和错误。这包括代码审查、文档审查和设计审查等。 3. 单元测试:单元测试是对车载软件中最小的可测试单元进行测试,通常是对函数或模块进行测试。目的是验证每个单元的功能是否正确,并发现潜在的错误。 4. 集成测试:集成测试是将各个单元组合起来进行测试,验证它们之间的接口和交互是否正常。这包括模块间的接口测试、功能集成测试和系统集成测试等。 5. 验收测试:验收测试是在车载软件开发完成后进行的最后一轮测试,目的是验证软件是否满足用户需求和规格要求。这包括功能验收测试、性能验收测试和用户体验测试等。 6. 安全测试:安全测试是为了验证车载软件的安全性和防护能力。这包括对软件的漏洞、攻击和数据安全等方面进行测试。 7. 兼容性测试:兼容性测试是为了验证车载软件在不同硬件平台、操作系统和网络环境下的兼容性。这包括硬件兼容性测试、操作系统兼容性测试和网络兼容性测试等。 8. 性能测试:性能测试是为了验证车载软件在各种负载条件下的性能表现。这包括响应时间、吞吐量、并发性和稳定性等方面的测试。 9. 异常处理和回归测试:在测试过程中,如果发现问题或错误,需要进行异常处理和修复,并进行回归测试,确保修复后的软件没有引入新的问题。 10. 测试报告和评估:在测试完成后,需要生成测试报告,总结测试结果和问题,并评估软件的质量和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值