生成测试数据的提示和技巧

  

每个人都知道测试是一个产生和消耗大量数据的过程。测试中使用的数据描述了测试的初始条件,并代表测试人员通过其影响软件的介质。它是大多数功能测试的关键部分。但实际上测试数据是什么?为什么用它?也许你会想知道的设计测试用例足够具有挑战性,然后为什么要像测试数据一样烦恼”本教程的目的是向您介绍测试数据,它的重要性,并提供快速生成测试数据的实用技巧和窍门。那么,让我们开始吧!
<强>什么是测试数据?它为什么如此重要吗?
测试数据实际上是给予软件程序的输入。它表示影响或受特定模块执行影响的数据。一些数据可用于正测试,通常用于验证给定函数的给定输入集产生预期结果。其他数据可用于否定测试,以测试程序处理异常,极端,异常或意外输入的能力。设计不良的测试数据可能无法测试所有可能妨碍软件质量的测试场景。

  

<强>什么是测试数据生成?为什么应该在测试执行之前创建测试数据?
根据您的测试环境,您可能需要创建测试数据(大多数时间)或至少为您的测试用例确定合适的测试数据(测试数据是否已创建)。
通常,测试数据与其打算用于的测试用例同步创建。
可以生成测试数据——
?手动
?从生产到测试环境的大量数据副本
?从旧版客户端系统批量复制测试数据
?自动测试数据生成工具

  

通常,在开始测试执行之前应生成样本数据,因为很难执行测试数据管理。由于在<强>许多测试环境中创建测试数据需要许多前置步骤或测试环境配置,这非常耗时强。此外,如果测试数据生成做,而你是在测试执行阶段,你可能会超过你的测试的最后期限。
下面介绍几种测试类型以及有关其测试数据需求的一些建议。
<强>白盒测试的测试数据
在白盒测试中,测试数据源自对待测试代码的直接检查。可以通过考虑以下因素来选择测试数据:
?希望覆盖尽可能多的分支;可以生成测试数据,使得程序源代码中的所有分支至少被测试一次
?路径测试:程序源代码中的所有路径至少测试一次,测试数据可以设计为涵盖尽可能多的情况
?负Api测试:
o测试数据可能包含用于调用不同方法的无效参数类型
o测试数据可能包含用于调用程序方法的无效参数组合

  

<>强性能测试的测试数据
性能测试是一种测试类型,用于确定系统在特定工作负载下的响应速度。此类测试的目标不是发现错误,而是消除瓶颈。性能测试的一个重要方面是使用的样本数据集必须非常接近生产中使用的<>强”真实”或“实时”数据。出现以下问题:“好的,用真实数据测试是好的,但我如何获得这些数据?”答案非常简单:从了解最好的人——<强>客户。他们可能能够提供他们已有的一些数据,或者,如果他们没有现有的数据集,他们可以通过提供有关现实世界数据的样子的反馈来帮助您。万一你在<强>维护测试项目,您可以将数据从生产环境复制到测试台。在制作副本时,<强>匿名(加密)敏感的客户数据(例如社会保险号,信用卡号,银行详细信息等)是一种很好的做法。
<>强安全测试的测试数据
安全测试是确定信息系统是否保护数据免受恶意×××的过程。为完全测试软件安全性而需要设计的数据集必须包含以下主题:
<强> ?保密:客户提供的所有信息都严格保密,不与任何外部人员共享。举个简短的例子,如果应用程序使用SSL,您可以设计一组测试数据来验证加密是否正确完成。
<强> ?完整性:确定系统提供的信息是否正确。要设计合适的测试数据,您可以从深入了解设计,代码,数据库和文件结构开始。
<强> ?身份验证:表示建立用户身份的过程。测试数据可以设计为用户名和密码的不同组合,其目的是检查只有授权人员才能访问软件系统。
<强> ?授权:告知特定用户的权限。测试数据可能包含用户,角色和操作的不同组合,以便仅检查具有足够权限的用户是否能够执行特定操作。

  

<强>黑盒测试的测试数据
在黑盒测试中,测试人员看不到代码。您的功能测试用例可以使测试数据符合以下条件——
<强> ?无数据:未提交数据时检查系统响应
<强> ?有效数据:强提交有效测试数据时检查系统响应
<强> ?无效数据:强提交无效的测试数据时检查系统响应
<强> ?非法数据格式:当测试数据格式无效时,检查系统响应

生成测试数据的提示和技巧