一、背景
精准测试技术,是这几年比较热的一个方向。从年这个体系开始诞生,到现在整整历经了10年的时间。中国从国外引进了很多技术,火与不火其实在国外已经决定了。本土成长起来的精准测试路线独树一帜,它不是从国外引入,是在中国的大环境下慢慢发展起来的。从寂寂无名,到软件质量技术从业者的热情被一点点的调动起来,再到被认可及至推广,中间翻越过万重山。本文作者星云测试平台设计师、创始合伙人赵明先生站在另一个维度,以星云为例侧重讲了精准测试技术的起源发展、商业内核以及行业的展望。
二、精准测试的定义
精准测试一句话概括就是:测试用例和代码之间的追溯,这是它最本质的东西。精准测试的本质决定了它抓住了测试的一个核心要点。
大家知道,软件主要有两个方面:一个是我们看到的功能,即从界面上看到输入输出(通常我们测试是基于这个);另外还有背后的代码。在功能测试整体动态运行的时候,功能和代码必然存在着追溯关系。这种相互追溯,很像物理界的量子纠缠理论。就是说,软件代码运行逻辑和功能输出,是两个也同时是一个整体,像量子纠缠一样。当把两个量子视为一个整体,只观测任何一个都观测不全面。这个也就是我们黑盒测试以前遇到的问题,它存在很多隐性问题,因为它没办法观察计算机最本质的东西--代码的同步变动。精准测试就把这两个全部观测、捕捉并回放出来了
最早星云在年的国际软件测试大会上首先发布精准测试的时候,就叫穿线测试,英文名字叫ThreadingTest,并没有直译成Accuratetest,现在看还是ThreadingTest最契合。首先,精准测试建立起了用例和代码的关系,相当于把黑盒和白盒关联起来,做黑盒测试时获取到白盒数据。即完成一个测试逻辑,代码上的逻辑立马同步生成,准确地把开发测试关联起来,这里使用了Threading的穿线的含义。另外一个层面,精准测试最本质就是线程覆盖测试。它跟白盒最大的区别是覆盖率是线程级的,也就是说我们要追溯到用例这个级别。比如一个系统可能很多用例同时跑,最终用例级的数据就是在线程里面。我们拿到线程级的数据,就能拿到测试用例级别的这种覆盖率。这里体现了Threading线程的含义。所以我们整体英文名字叫ThreadingTest,这是我们中国自己命名的。
三、精准测试技术发展
精准测试是从年开始发展的。最开始的时候(星云)团队建立一些基础理念,主要建立用例和代码相互追溯的基本技术方向和框架。
年,星云开始做第一个源码插装内核,即基于JAVA的SASI(源码插装)。
年,用例和代码追溯、软件示波器、回归用例自动选取基本已经成型。这年有个重大的事项:在iSQE大会上以“穿线测试”第一次发布产品。当时引起了行业上很大的
转载请注明:http://www.0431gb208.com/sjszlfa/3677.html