测试代码测试用例.....什么界限?

时间:2011-02-16 23:26:47

标签: unit-testing testing software-quality

所以我最近被聘为打印机公司的QA /固件开发人员,我的很多工作都涉及编写小小部件/测试应用程序放在打印机上进行测试以确保一切正常运行。 在你将它转移到careerexchance和程序员等之前....我实际上在这里谈论源代码......

然而,因为我刚毕业于大学毕业。在CS我是专业世界的新手...尤其是QA。

无论如何,我很难抓住一个非常好的“方法”来提供一个好的测试用例结果。

就像让我们说你从键盘输入数字(0-9).....所以测试你测试可接受的范围(如1-100)然后我问自己我应该测试多少范围(请记住,其中一些是不可能自动化的,因为我们不得不偶尔用手按压它们)

然后你会明显地测试外线范围(但是多少次?)

例如输入不属于* $%或字符的ASCII字符。 我有点困惑如何为有界/无界案件提供一个好的测试案例?

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

寻找输入家族。

负数,非负数,0,非正数,正数,0位数,1位数,2位数,3位数......

这些是输入族的例子。

在代码中查找会导致您将某些内容分解为新的测试用例系列的内容。

查找类似但不同操作的错误报告 - 它们可能会为您提供如何闯入家庭的线索。

答案 1 :(得分:1)

我建议浏览Google Testing Blog以获取有关测试策略的信息。詹姆斯惠特克也写了几本关于测试的书。我自己没有读过这些书,但我希望在某些时候能够阅读。

此外,与您工作的其他开发人员,测试人员和QA人员交谈。向他们询问他们的旧战争故事,他们发现,修复或听到的最喜欢的错误。许多错误属于常见类别,学习识别和预测这些错误主要是经验问题。

答案 2 :(得分:1)

如果它有帮助,你现在遇到一个真正困难的问题 - 任何人告诉你从几乎无限的数字中选择正确的测试用例是容易的或微不足道的,要么是无知的,要么试图卖给你一个非常昂贵的工具!

将您的输入分组到系列(也就是等效分区)作为另一个答案建议可能会有所帮助。我建议阅读测试设计 - 我喜欢Lee Copeland的书“A Practitioner's Software to Software Test Design”,但你也可能会发现Tobbe Ryber的“Essential Test Design”一书很有用 - 它可以在这里免费下载pdf:{ {3}} - 从第10章开始。

Glowcoder建议查看错误报告以获取线索,并查看代码以获取进一步的想法,这些都非常值得关注。还要注意可能存在“不可见”边界的可能性 - 即您不知道的限制只是通过查看代码或要求而不明显 - 例如,低于某个值的数字工作得很好,并且然后在一些显然完全随意的价值,他们会突然开始失败。看一下这个例子: http://www.ryber.se/?p=213(是的,我在野外遇到过那个)。

这是一个很好的理由,为什么它值得花费在奇数高值,尽可能多地改变你的测试数据(在合理范围内) - 你增加了遇到你不会预测到的东西的机会。 (这也反对反复运行完全相同的测试用例 - 如果它们是自动化的,那么成本就会降低,它们就会成为变化指标。但如果你不得不手动键入值 - 你可能会并且每次都将它们调高一点并覆盖更多的搜索空间。

这是关于边界测试的视频,以及一些指向更多资源的内容: Strangest language feature