在前面的两篇文章中,我和你分享了探索式测试和测试驱动开发的概念、具体的实施方法。今天,我会继续和你分享软件测试领域中的另一个前沿话题:精准测试。
软件测试行业从最开始的手工测试到自动化测试,从黑盒测试到白盒测试,测试理念和技术都发生了日新月异的变化。现如今,几乎所有的软件公司都有一套强大且复杂的自动化测试用例,用来夜以继日地保证产品的正确性和稳定性。
然而,你有没有想过,现在你所掌握的软件测试技术和用例,真的是最准确、最适合你的产品的吗?这其中,是不是存在很多冗余的测试数据、根本用不上的测试用例、永远成功不了的测试场景?
更糟糕的是,当产品代码有更新时,你根本不知道这些更新到底影响了哪些功能,也无法精准地选取测试用例,而不得不执行完整的全回归测试。
针对这类问题,精准测试的概念在 2016 年被提了出来。所谓精准测试,就是借助一定的技术手段、通过算法的辅助对传统软件测试过程进行可视化、分析以及优化的过程。也就是说,精准测试可以使得测试过程可视、智能、可信和精准。
为了可以帮助你更好地理解,为什么要有精准测试,以及它可以解决什么问题,我在和你分享精准测试的内容时,会先和你一起分析传统软件测试正面临着哪些痛点,而精准测试又是如何解决这些痛点的。
传统软件测试的主要短板
现如今,软件产品的规模以及复杂度的发展速度,可谓超乎想象,而传统的软件测试方法,在面临这些挑战时已经表现出了些许力不从心。这些力不从心,也就是传统软件测试的短板,我归纳为了下面这五大类:
第一大短板,测试的维护成本日益升高。
当传统测试的用例逐渐增加时,需要花费越来越大的时间和人力成本,去维护一个庞大的测试用例集,以此保证产品新特性和老功能的正确性和稳定性。
而在这成千上万的测试用例中,有很多陈旧的用例已经失效了(不再能满足现有产品的测试需求了),但是整个团队还是要花费很多精力去维护这个庞大的测试用例集。
第二大短板,测试过程的低效。
随着软件功能不断丰富,相应的测试用例集也愈加庞大,这时难免会出现“杀虫剂”效应,即:测试用例越来越多,而产品的“免疫力”也越来越强。
造成这种问题的原因是,我们在测试早期已经发现了 80% 的软件缺陷,除非再花费巨大的人力和时间成本去分析和增加大批量的测试用例,否则后期新增的测试用例已经很难再发现新的缺陷了。
而精准测试可以通过对已有测试数据的跟踪分析,来定位或者缩小测试范围
版权归原作者 程序员zhi路 所有, 如有侵权,请联系我们删除。