2010-12-10 137 views

回答

7

我认为是错误的问题。我带领了大型测试团队。测试人员发现所有的小错误,你知道,当你做这个和那个,bla,bla时,系统会崩溃。

错误被记录下来,通常不会被纠正。每个人都认为这是一个非常特殊的情况,我们没有时间,而且它在生产中发生的可能性太小。

真正的错误有时会被忽略。该系统确实让所有程序员都有意让程序去做,但这不是客户需要的。一个实际上已经是需求缺陷的错误。

除了这句话通常是虫子等东西

  • 没有数据输入验证
  • 边界未选中(非常大的价值,非常小的值)
  • 缺少的错误处理(导致系统松动连接)。磁盘已满等
  • 界面错误检测一次系统测试端到端
  • 带有无效字符的问题
  • 用绳子太长的问题
  • 空值的问题
  • 数据组合没有明显的问题

所以系统的测试尝试所有可能的组合是必要的,如果你是最多打破了系统

2

很少有100%的保证,系统只能按照预期使用。对于团队来说,了解系统如果“不知何故”进入系统时会出现什么样的行为,这一点非常重要。这些问题实际上可能非常重要,例如可能导致私人客户数据泄露的安全问题,因为no one intended for SQL statements to be entered into that field;它只是为了学生的名字。所以,是的,我完全测试了系统未被“按预期”使用时会发生什么。系统应该优雅地失败,不合格的失败就是错误。未记录的难以调查的故障或故障也可能是错误。

我打破软件的准确步骤取决于被测试的东西。一般来说,我们的团队在创建估算时将功能测试用例分为3组:快乐路径测试,它通过测试人员能够想到的最基本的“预期输入”用例遍历每个功能。 “怪异”测试,这是一个更彻底的演练,涵盖了所有微小的逻辑小块,以及程序员可能没有想到的异常有效情况(主要是边界测试和等价类测试)。最后,“错误”测试,这是所有关于投入坏的和意想不到的输入来尝试和破坏代码,并且经常涉及专门测试记录,监视和错误恢复。通常,快乐路径测试非常快,但“怪异”和“错误”测试都相当耗时。这只是功能测试,不包括其他类型的测试,如集成或性能测试。

我们通常也会尝试获取实时数据以进行测试;测试人员可以列出一系列可能的非预期用途,并且仍然会错过客户提出的非预期用途。

1

大的故事在短 - 与章程