什么是软件测试
通过一组明确定义的评估方法(称为测试)对开发/设计的代码/功能/系统进行测试以隔离错误和缺陷的过程称为软件测试。
测试确保遵守客户提供的要求,并且产品在给定环境中按预期运行
我们对软件测试了解多少?
- 确保交付产品的质量
- 软件开发生命周期(SDLC)最重要的阶段之一
- 测试是 SDLC 的第五阶段,在开发/构建之后、部署/安装之前完成
- 在经典的瀑布模型中,SDLC 是 SDLC 中的一个块过程,而在 AGILE 或 SPIRAL 模型等其他模型中,它是一个持续的过程,作为持续集成/持续部署的一部分)(CI/CD)
- 测试的结果并不止于报告错误/缺陷。作为后续流程,需要确保关闭和重新测试,因此 100% 质量
- 错误是与代码相关的问题,可能很重要,也可能不那么重要。通常在开发阶段本身是可识别和可寻址的。错误可能是由于语法错误、逻辑错误或可能是由于运行时问题造成的。大部分由开发商修复。隐藏/未识别的错误可能会导致系统行为受到拖累,导致资源利用率不足
- 缺陷是与所获得的规格/要求的偏差,并且是重大缺陷,需要立即解决。未修复的缺陷可能会导致资源方面的严重损失。通常在测试阶段确定。当测试人员使用基于需求的测试用例进行测试时,可以识别与规范的偏差,将其返回给开发人员或与客户讨论替代方案,并且可以根据讨论结果解决和修复问题。
- 测试可以由测试人员根据需求和/或规范使用测试用例开发手动执行,也可以使用自动工具来执行,其中输入测试用例和数据并分析输出是否符合要求。
- 该软件可以进行功能测试,其中每个代码或功能单元都可以测试,代码单元和功能可以集成和测试,整个系统可以测试,健全性测试,接口可以测试或回归(与现有的向后兼容性)功能)被测试
- 非功能测试包括性能、负载、压力、安全性、兼容性、安装、可靠性等,其中系统接受测试环境以评估其相应的行为。
软件测试的相关性:
设计和开发的系统永远不会完美,因为有许多人参与设计和构建系统。软件测试作为一个过程可以确保产品的整体质量。测试确保交付的产品符合客户要求并适合业务需求。明确定义的测试流程可保证错误得到修复、缺陷得到识别、接口协同工作、产品的安全性和健全性不会受到损害。测试结果表明产品能够按要求执行、接受任何测试并经受住任何类型的干扰。经过验证和验证的产品证明了最高等级的资源及其提供长期耐用产品的能力。