标签:网速 数据类型 去重 数据库 规范 防范 sql 验证 了解
脏数据(Dirty data),也叫坏数据(Bad data),通常是指跟期待的数据不一样、会影响系统正常行为的数据。
生产环境下的缺陷分析流程是这样的:
调查分析生产环境缺陷,到最后定位是数据问题的时候,总是让人浑身轻松… 于是,“脏数据”就跟测试的“随机挂”一样,成为了光荣的“背锅侠”!
脏数据 ≠ 代码问题,真的是这样吗?先来深入了解一下脏数据。
脏数据是怎么回事?
脏数据产生的原因多种多样,有的甚至很难解释清楚到底发生了什么…通常,以下原因可能造成脏数据:
因此,脏数据跟代码有关,脏数据的产生是因为没有做好防御工作!
脏数据有哪些危害?
根据不同的系统、不同的业务,脏数据带来的危害也会不一样。
脏读产生的数据往往是错误的,导致数据不真实性,或者数据的不一致性;
重复和其他不合法数据则可能导致系统行为的不正常,有时候还可能导致非常严重的故障,甚至有些没有暴露的脏数据可能带来不可预知的致命错误,危害可能是相当大的。
脏数据带来的危害很难估量,有很大的不可预测性,对于脏数据的预防至关重要。
那么,如何能够防范于未然呢?
如何预防脏数据的产生?
尝试对脏数据引起的生产环境缺陷做进一步分析,总结出脏数据的几种类型,可以在敏捷软件开发生命周期的不同阶段对其进行防御。
在业务分析的时候,根据业务需求,明确业务相关数据的特定要求,如:
明确了数据的需求,可以根据需求定义和软件使用常识,在实现层面对数据进行严格的约束和校验:
有了需求定义和实现层面的校验,大部分的不合法数据被阻止了,但是还是会有漏网之鱼,在测试的时候继续采取相应的措施来进一步防御。
关于隐藏边界,可以参考John Ruberto的文章《Uncovering Hidden Boundary Values in Testing》,里边提到了四种隐藏边界:数据类型边界、信任域边界、特殊数据值、复活节彩蛋。除此之外,咱们平常测试过程中可以多积累,总结出还有哪些可能会导致数据问题的隐藏边界。
做了前面一层层的防御,如果最终用户在使用的时候能够按照规范操作数据,对减少脏数据的产生会很有帮助。
下面两个措施可以培训用户更规范的操作数据:
标签:网速 数据类型 去重 数据库 规范 防范 sql 验证 了解
原文地址:https://www.cnblogs.com/wchwch/p/11180074.html