我们一直在开发wifi/2g板,它可以与服务器通信并存储数据。
这个项目已经运行了几年,我们正在不断更新板的固件和服务器软件。
有时候,有些东西会失败,而在太晚的时候,客户经常会检测到,而这种失败会导致更糟糕的事情发生。
我在受控环境下进行了很多测试,每次我想到一个新的测试,我都会尽快做,但是最近我对测试什么的想法越来越少了。
这些板卡相当复杂,使用多个芯片用于不同的用途,因此测试包括硬件测试和软件测试。我正在寻找一种更好的方法来寻找更好的测试方法,因为很明显,我总是缺少一些东西。
我并不是说我能预测每一个可能的情况(不可能),我只是在寻找一些关于如何改进我的测试的指导方针。
发布于 2017-12-11 16:09:03
没有更多的细节是很难回答的,正如你所说的,这是一个复杂的系统。但还是有一些事情你应该去尝试。
您可以尝试的一件事是进行根源分析,以了解bug来自何处,而不是集中于那里的测试,特别是如果一个以上的bug来自RCA。
这样做的一个好方法是问五个理由,但请注意,您很有可能最终得到一个过程性的答案(没有足够的设计、代码没有被评审或类似的内容),这无助于定位测试中的易受攻击区域。
另一件值得尝试的事情是收集关于表中的bug的信息,并试图在子模块、开发人员、日期、编程语言或环境中找到关联。我不太相信将缺陷聚类作为一个全部术语,但值得一试。
发布于 2017-12-11 23:03:00
关于:
有时候,有些东西会失败,而在太晚的时候,客户经常会检测到,而这种失败会导致更糟糕的事情发生。
我在受控环境下进行了很多测试,每次我想到一个新的测试,我都会尽快做,但是最近我对测试什么的想法越来越少了。
我觉得第一个(真实世界发生的)是更好的测试指南,而不是第二个(你的想法)。并不是说测试应该只在流程的末尾,但是如果这是故障现在显示的地方,那么从这些失败中倒转,看看在流程的早期您可以检测到这些类型的错误。做测试。
发布于 2017-12-11 16:09:16
显然,您永远无法测试所有的东西(因为您可以测试的东西的数量是无限的),但是您可以采取一种基于风险的方法来确定测试的优先级。例如,如果您已经对您的产品进行了风险评估,您可能会确保花费大量时间处理可能导致最严重故障的案例。
我还看到您已经标记了这个manual-testing。您还可以通过寻找更多自动化测试套件的方法来提高您的效率,特别是在您提到不断更新之后。这将为您提供一个良好的“安全网”,以确保更改不会破坏您以前测试过的内容。即使您正在测试涉及硬件的系统,也可以使用一些技术来实现自动化。在谷歌上搜索“硬件在循环测试”可能会产生一些想法--抱歉,我无法从实际经验中说出很多,但这是我们希望在硬件/软件系统中做得更多的事情。
在改进实际测试方面,有很多关于测试设计和测试技术的书籍。我还没有读过列表中的第一个,但是这里有一些有用的资源:
https://sqa.stackexchange.com/questions/30958
复制相似问题