什么是配置测试?示例测试用例
配置测试
配置测试是一种软件测试方法,其中使用各种软件和硬件组合测试软件应用程序,以分析功能需求并确定软件应用程序运行时没有错误或缺陷的最佳配置。
如前所述,配置测试是一种软件测试,其中必须使用不同的软件和硬件组合来评估被测应用程序。
配置测试示例
让我们看一个桌面应用程序的例子,看看它是如何工作的-
通常,桌面应用程序是两层或三层。在这里,我们将查看一个三层桌面应用程序,该应用程序是使用Asp.Net客户端、业务逻辑服务器和数据库服务器构建的,其中每一个都支持下面列出的平台。
WindowsXP、Windows7、Windows8和其他客户端平台
WindowsServer2008R2、WindowsServer2008R2和WindowsServer2012R2是服务器平台。
SQLServer2008、SQLServer2008R2、SQLServer2012和其他数据库
为了验证应用程序是否正常运行并且没有失败,测试人员必须使用上述平台和数据库版本的组合来测试客户端、服务器和数据库的组合。
配置测试不仅限于软件,也适用于硬件,这就是为什么它也被称为硬件配置测试,我们在其中测试各种硬件设备,例如打印机、扫描仪、网络摄像头和其他支持被测应用程序的设备。
本次测试的目的是什么?
如前所述,此测试是一种在考虑各种系统设置的同时评估程序、系统或应用程序性能的技术。
进行此测试是为了发现系统或程序的最佳配置,以便顺利运行而没有任何错误、问题或性能故障。在此测试的帮助下,可确定可提供所需性能特征的最有效配置。
系统与SRS中包含的其他软件或设备的兼容性是进行此测试的第二个主要原因(软件需求规范)。
一个很好的例子
看您的公司在C#中创建了一个基于the.NET框架的桌面应用程序的情况。
而且这个app是三层架构,前端(客户端)、应用层(服务器)、数据库层。因此,每一层都将支持某些平台。
假设每一层都支持下面列出的平台-
客户端-MicrosoftWindows10、Windows7、WindowsXP和Linux。
UbuntuServer、WindowsServer2016和NovellOpenEnterpriseServer是服务器的示例。
MicrosoftSQLServer、IBMDB2和MySQL是数据库的示例。
现在,作为软件测试人员,您必须在上述客户端、服务器和数据库平台的众多组合中的每一种上测试程序,以确保它在所有这些平台上都能正常运行。
例如,您将测试该应用程序如何与Windows10操作系统、WindowsServer2016数据库和MySQL数据库配合使用,然后您将测试该程序如何与Windows10操作系统、WindowsServer2016数据库和IBMDB2数据库配合使用。
依此类推,直到您尝试了所有可以想象的组合。我们的测试不仅限于软件;它还将包括硬件,我们将不得不在其中检查众多硬件设备组合中的每一个。因此,此测试也称为硬件配置测试。
配置测试的准备
在运行配置测试之前,必须满足此测试的几个先决条件。
以下是要求-
#1)创建覆盖矩阵
由于存在大量可选的硬件和软件组合,有效地测试它们中的每一个都变得非常耗时且几乎不可能。
比如上面的例子,一共会有3*3*3或者27个软件配置。假设我们有五个不同的硬盘驱动器和六个不同的内存容量。然后计数将增加到27*5*9,或810个配置。如果我们在图片中添加更多元素,这将继续上升。因此,提前计划软件测试工作并确定将支持哪些平台至关重要。
然后我们需要创建一个覆盖矩阵来存储所有不同的硬件和软件设置。BCM是此覆盖矩阵的另一个名称(基本配置矩阵)。
#2)设置配置的优先级
下一步是使用配置矩阵对配置进行优先级排序。
这个阶段是必要的,因为测试整个种类繁多的组合是不可能的。因此,已根据客户输入确定了最重要的设置,并将首先对这些设置进行全面测试。
完成前两个阶段后,我们可以开始按重要性顺序测试各种配置。
MicrosoftVSTS(VisualStudioTeamServices)是一个配置测试工具。
VSTS(MicrosoftVisualStudioTeamServices)是一种解决方案,可根据您的测试策略在多种配置中极大地帮助测试您的程序。
您应该有一个测试计划来帮助您选择要运行的测试和设置。您必须验证环境是否为您想要的设置正确设置。获得组合矩阵后,您必须对其进行测试。
要进行此测试,请按照以下步骤操作-
创建变量并配置配置。设置中的一个组件是变量。例如,变量“浏览器”可能有许多值,例如Chrome、Firefox、IE10等。
为测试计划、测试套件或特定测试用例分配配置。
分别对每个设置运行测试。
记录每个设置的测试结果。
配置测试先决条件
在开始对任何项目进行配置测试之前,必须满足一些先决条件。
创建一个矩阵,包括软件和硬件设置的多种组合。
由于测试所有这些设置很困难,因此对设置进行优先排序。
每个配置都根据其优先级进行测试。
配置测试目标
配置测试的目标是确保一切正常。
验证应用程序以查看它是否满足可配置性要求
手动生成故障以帮助检测在测试期间不易发现的问题(例如:更改系统的区域设置,如时区、语言、日期时间格式等)
确定测试应用程序的最佳设置。
添加或更改负载平衡器等硬件资源、增加或减少RAM大小、连接各种打印机类型等以分析系统性能。
基于优先级分析系统效率,确定如何有效地利用可用资源进行测试以获得最佳系统配置。
在地理分散的环境中验证系统以确定它的功能如何。
例如,如果服务器与客户端位于不同的位置,则无论系统设置如何,系统都应该运行良好。
无论设置如何更改,都可以检查重现问题的难易程度。
通过正确记录和保留清晰可识别的版本来确保应用程序组件的可追溯性。
在整个软件开发生命周期中,确定应用程序组件的可管理性。
配置测试:分步指南
在这一部分,我们将介绍应该用于不同类型的配置测试的方法。有两类配置测试,如下所示。
软件配置测试
硬件配置测试
软件配置测试
软件配置测试是通过不同的操作系统、软件升级等来测试应用程序。软件配置测试需要很长时间,因为安装和卸载过程中需要的许多软件工具都需要时间。
在虚拟机上测试软件设置是用于执行此操作的方法之一。虚拟机是一种基于软件的环境,它模仿物理硬件的行为,为用户提供与物理机相同的体验。虚拟机用于复制现实世界的场景。
最好在虚拟机上安装应用程序/软件并继续测试,而不是在多台真实计算机上安装和卸载软件,这很耗时。可以使用多个虚拟计算机来执行此过程,从而使测试人员的工作更加轻松。
在进行软件配置测试时,通常最好尽快开始。
提供了可测试的配置标准。
测试环境现已可用。
测试团队接受了配置测试方面的广泛培训。
构建已发布,单元测试和集成测试均已通过。
为了测试软件配置测试,典型的测试策略是跨不同的软件配置运行功能测试套件,以确保被测程序按预期运行,没有缺陷或错误。
另一种方法是手动使测试用例失败并检查效率以确保系统正常运行。
例子
考虑一个银行应用程序,它必须经过各种浏览器的兼容性测试。如果应用程序托管在满足所有条件的环境中,则测试实验室中的单元和集成测试可能会成功。
但是,如果在客户端位置部署相同的程序并且机器缺少应用程序直接或间接依赖的某些软件更新或版本,则应用程序可能会失败。为了避免这种情况,最好在继续测试之前通过消除部分可重构性标准来手动使测试失败。
硬件配置测试
硬件配置测试通常在实验室中完成,其中存在连接各种硬件的实际机器。
当新版本可用时,软件必须安装在与硬件连接的所有物理计算机上,并且必须在每个系统上运行测试套件以确认应用程序正常运行。
在每台计算机上安装软件、连接硬件、手动执行或自动执行上述过程以及运行测试套件都需要花费大量时间。
此外,在进行硬件配置测试时,我们定义了要测试的硬件类型,计算机硬件和外围设备的类型如此之多,几乎不可能运行它们。因此,测试人员有责任确定用户最常用的硬件并根据此优先级进行测试。
概括
配置测试,像其他形式的测试一样,在软件工程中应该被赋予同等的权重。没有配置测试就不可能评估理想的系统性能,软件可能会遇到它打算处理的兼容性问题。