软件测试是用来验证软件解决方案或产品是否符合要求和期望的过程。软件测试的旨在发现缺陷,并证明软件是适合使用的。有许多测试方法、类型和技术可用于验证功能和非功能需求。
测试自动化是使用其他软件来自动化手动测试或在应用程序中执行手动用户操作的过程。在手动测试不可能或费时的情况下,用其他软件的帮助来验证软件是一个好主意。
自动化测试是使用专门的软件工具验证软件解决方案,通常涉及自动化功能作为测试过程的一部分。
自动化测试是使用特殊的软件,与被测试的软件分开,来控制和执行测试,包括实际结果与预测结果的比较和报告。应用程序被称为被测应用程序(AUT the application under test)或被测系统(SUT system under test ),用于测试的软件被称为自动测试工具(ATT automated testing tool)。
测试对于所有的IT系统都是必要的,有许多IT系统在没有适当的测试的情况下上线,最后出现了缺陷,造成了经济和声誉的损失。测试是任何IT解决方案开发的核心活动,独立于软件开发生命周期(SDLC software development life cycle )方法,如DevOps、精益、敏捷或瀑布。
IT项目和测试是在三个约束条件下进行的:成本、时间和范围。这三个因素,通常被称为 "三重约束"。三重约束的任何变化都会对质量产生相关的影响,而这一影响是通过测试来衡量的。
基于风险的测试(RBT Risk-based testing)是广泛使用的优化测试时间和努力的方法之一,测试自动化是另一种方法。基于风险的测试和测试自动化可以结合起来。