Testing 如果输入不是预期的,但处理正确,是否有效?
我正在web服务上进行软件测试,我想知道web服务是否接受邮政编码并返回邮政编码的坐标。如果我输入99999,它不是邮政编码,但系统没有崩溃,它只是在两个坐标上回复0,这被认为是无效的输入吗?我不太确定,因为它没有破坏系统,这意味着它可以处理输入,所以它是使输入有效还是仍然无效,因为99999不是邮政编码?如何定义无效?谷歌的定义之一是: (指计算机指令、数据等)不符合正确格式或规格的 根据这个定义,它是无效的。它产生了一个无效的答案Testing 如果输入不是预期的,但处理正确,是否有效?,testing,Testing,我正在web服务上进行软件测试,我想知道web服务是否接受邮政编码并返回邮政编码的坐标。如果我输入99999,它不是邮政编码,但系统没有崩溃,它只是在两个坐标上回复0,这被认为是无效的输入吗?我不太确定,因为它没有破坏系统,这意味着它可以处理输入,所以它是使输入有效还是仍然无效,因为99999不是邮政编码?如何定义无效?谷歌的定义之一是: (指计算机指令、数据等)不符合正确格式或规格的 根据这个定义,它是无效的。它产生了一个无效的答案 但是,如果它是你的Web服务,并且如果这是预期的行为(为了
但是,如果它是你的Web服务,并且如果这是预期的行为(为了防止崩溃而向用户呈现明显错误的答案),那么我就不会认为它是无效的。在某种程度上,这是“预期输入”-这是一种防止用户错误的保护措施,您应该始终将其添加到代码中
但是如果是这种情况,那么我假设您采取不同的方法来警告用户错误的用户。这完全取决于web服务规范的状态 例如:- 如果它声明在无效输入时返回0,则它工作正常-继续
- 如果它说你只应该提供有效的信息,那你就违反了合同,它可以随心所欲。往前走
- 如果它没有说明它将对无效输入执行什么操作,那么它也可以执行它希望执行的任何操作。人们通常遵循最不惊讶的原则,但决不是强制性的
话虽如此,任何体面的web服务都应该记录允许的输入,并说明如果合同被破坏会发生什么。您正在使用的一个可能会发生这种情况(我们无法确定,因为我们不知道您正在使用的是哪一个),您可能需要搜索它。您是如何获得坐标的?你在用图书馆吗?你用什么语言?@YMD:这些都与问题无关。你穿什么颜色的内衣?你所在的时区是几点?空载燕子的空速是多少?:-)我没有这些信息,它不是我的Web服务,它只是一个公共Web服务,但其他人如何指出,这与我的问题无关