❝导语
❞
小伙伴们对传统测试已经非常熟悉了,从测试手段来区分:功能测试、性能测试、自动化测试、安全测试、接口测试就有多种。 那么大数据测试到底测啥以及如何测,非常遗憾的告诉伙伴们,目前业界没有通用的方法定义大数据测试,本篇借鉴传统测试的思想跟大伙一起探讨下「大数据测试的范围」。
ISO9126 软件质量模型标准定义了软件评估的 6 大特性分别是:功能性、易用性、可靠性、效率性、可维护性、可移植性,也就意味着软件测试基本上围绕着这 6 个特性展开,详情见: ISO9126 软件质量模型的六大特性
我们借鉴 ISO9126 软件质量模型,看看大数据的功能性、易用性需考虑方面
说明:ISO9126 里面指满足需求文档和相关标准能力,分别从「适合性、准确性、互操作性、保密安全性、功能的依从性」去定义,好比测试一台手机:确保它功能完整(能打电话、发短信、运行 app、拍照..),满足用户日常的需求,并且符合互操作性 (确保打电话的时能运行手机上的 app),发出去的短信传输过程是通过加密、安全的,并且该手机的功能在国际上具备一定的规范一致性
对比:这里我们将其进行迁移到数据测试上,例:公司通过爬虫获取到友商的一些数据,作为测试人员可以尝试考虑这些方面:
质疑下拿到的爬虫数据对应的友商是否全面,
通常在「需求评审阶段提出」
质疑拿到的数据是否完整,这里完整指:
通常在「etl 测试阶段考虑」
质疑拿到的数据是否符合数据库规定类型、以及是否出现出现异常值
在「etl 测试阶段」 或者 「数据应用层」测试考虑
质疑拿到数据的结果表与数据源头表是否一致,可能源表经过 A -> B -> C 处理后得到结果表,所以需要验证整个过程数据是否失真,确保数据的准确与一致
对于某些敏感的数据往往需要考虑其安全性,可以是从获取数据的方式,也可以是数据本身安全性上。
确保数据获取的过程顺畅,如果数据需要通过很多命令执行并且连接多个环境才能获取到,这样的数据易用性则不强,以及每个指定的一定能被人所理解。
在需求「评审阶段」 或 「研发设计阶段」考虑
同样的当处理大数据的平台出现不可预知的错误时,或者数据处理变慢时,我们得有一些处理方案让其能短时间内恢复,或者即便恢复不了也有一些应急的方案,让其「不影响到整个链路的上下游」,这里其实就是对处理大数据的平台可靠性与效率性的保证。
可维护性指:数据可用且及时被维护,可移植性指:无论数据的迁入与迁出都不会影响到数据的使用
「维护库表之间关系」,由于通常大数据随着时间的推移数据库表会越来越多,需要确保有地方能维护数据库表之间的关系。
「维护单表字段含义」,例:某天业务上新定义销售类型,那么需要在对应的表内注解出及时维护。
「数据的迁入/迁出」:确保数据迁入/迁出字段不丢失以及数据完整性(参考 2.3 数据完整性)
关注我的微信公众号【数据猿温大大】,这里有更多关于数据测试的干货等着你~~
本文使用 mdnice 排版