新闻动态

测试的第一个原则聚焦破坏者往往不会参与系统的建设他

2019-03-10 22:29:36 作者:小麦

我们来看看破坏者的行为特点。

破坏者往往不会参与系统的建设,他们对于系统的了解是不全面的。因此,当破坏者展开攻击时,他们会聚焦于系统中的某一个点。他们会寻找这个点上的逻辑缺陷,并结合自己对系统的理解,展开各种推理和攻击。

软件开发从建设者的角度来看,破坏者的工作是对系统构建的一种补充当破坏者攻击成功时,说明系统在这一点上存在着逻辑缺陷。那些被攻破的点正是系统需要改进的地方。显然,如果在相同的点上,被破坏者用相同的方式反复攻击成功,说明建设者没有从破坏者的攻击中吸取教训。

刑事案件中的侦探也是一种“破坏者”

他们根据犯罪现场遗留下来的蛛丝马迹,展开各种角度的分析和推理。在这个过程中,涉及各个学科的知识,例如,心理学、生理学、物理、化学、数学等。

和侦探工作不同的是,软件开发不需要还原“犯罪过程”,相反,要帮助“犯罪分子”填补漏洞。

破坏是建设的补充,破坏是质量的保证。这种想法,与单纯地通过正确的集成测试用例来保证软件质量的想法是有区别的。

我们知道,在软件生产阶段,系统的集成已经通过了“可行性测试"。此时,软件测试的目标已经不再是保证集成的正确性(正确永远是相对的,在某些条件下正确的事物,在另外一些条件下不一定正确)。软件测试应该着眼于导致系统异常的逻辑路径。

前面谈到,逻辑路径是无法遍历的。所以更准确地说,按照破坏论的思想,我们的工作重点应该放在逻辑路径上的节点(这不代表排斥基于逻辑路径的测试)。我们可以通过软件开发逻辑节点上的分析来验证逻辑路径的正确性。

很多时候,工作重点的不同会带来行为上的差异。