我们正在进行集成测试,手动模拟来自外部系统和应用程序的数据。我们的集成测试已经成为我们过程中的瓶颈,因为由于测试数据的复杂格式,准备测试数据是很困难的:
对于长期参与该项目的测试人员来说,这些并不是重大的问题,但对于像我这样的新手来说,它们是重大的障碍。所以我们要做的是:
我们还能做些什么来简化测试数据的创建过程?
我们如何确保测试数据是正确的?
发布于 2012-10-21 19:34:28
生成测试数据是一个困难的问题,因为如果您不了解数据的系统,那么很可能会生成测试数据,这些测试数据将在测试中抛出假阳性(测试失败是由于错误的数据,而不是产品中的错误)。
我成功使用的方法是从等效分区生成参数化测试数据。我将这种方法用于各种数据,如Unicode字符串、设备上的联系人信息(例如名称、电话#'s等)和用于阳性和阴性(fuzz)测试的JSON小泡。
本质上,这需要对数据进行建模,将数据分解成等价的子集,然后生成满足模型约束的测试数据。(听起来你走在正确的道路上)。
要了解这种方法,请看我的白皮书参数化随机测试数据生成这个白皮书来自MS研究。我也有一个帖子这里。
当然,模型是对现实的抽象,所以生成的数据只能与模型、等效集以及如何在生成器中参数化使用这些集合的数据一样好。数据生成可能变得相当复杂,还可以包括加权特定值、排序等。
关于验证生成的数据,所有的预言本质上都是启发式的。因此,在本例中,您验证生成的数据满足模型。它不是防弹的,但它比粗野的随机,或猜测要好。
最后,也不要忘记使用真实的数据。
如果你有更多的问题或者我可以帮忙,请告诉我。
发布于 2012-10-29 06:38:49
因为不正确的预言(和比较器)或不正确的测试输入数据(也称为测试步骤),测试可以返回假阳性或假阴性。为了解决这些问题,我在文献中找到了以下方法。
Binder在他的书“面向对象的测试系统”中提出了以下建议,以限制设计不正确的预言的问题:
测试数据无效的一个原因可能是用于测试输入数据的be生成器。因此,软件测试中的经验教训建议单元测试并检查它们,就像在任何其他软件中一样。
测试测试框架似乎会导致无限的测试。实际上,根据定义,单元测试必须比被测试的系统更简单,因此不需要进行测试。其次,与其每次编写新的测试数据时验证新的测试数据,不如只对生成器进行一次验证。最后,通过对生成器的测试,您也更加确信修复生成器不会引入任何新的bug。
发布于 2021-09-03 06:32:37
由于测试人员完全集中于创建可以被认为是完整的测试数据,并且为测试人员提供了完整的覆盖范围,因此数据的正确性和质量很大程度上定义了测试结果。行业专业人员通常采用的流程包括从生产环境中获取数据,然后使用映射规则创建平面文件。
此外,QA服务只是从现有数据库中检索SQL查询,同时依靠自动测试数据生成工具来处理这些信息。
如果您需要详细了解如何准备测试数据以获得最大的准确性或正确性,请考虑遵循此链接。
www.softwaretestinghelp.com/tips-to-design-test-data-before-executing-your-test-cases/
https://sqa.stackexchange.com/questions/5027
复制相似问题