


摘要:在互联网时代,随着业务增长,前端需求激增,软件产品功能迭代加快,前端代码质量越来越受到重视,如何在有限时间内保证前端代码质量。就此问题将介绍前端JavaScript代码覆盖率工具Istanbul,分析lstanbul的四种代码覆盖率测量指标,并通过具体实例阐述lstanbul在前端单元测试中的应用。应用结果表明lstanbul能快速定位未被测试覆盖的代码,以此完善测试用例,提升软件产品质量。
关键词:软件测试;单元测试;代码覆盖率;lstanbul
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2020)08-0059-03
1 背景
软件测试是软件工程中重要一环,用于验证产品代码按照预期工作,是保障软件产品质量的重要手段。其中,单元测试是对软件最小执行单元的测试活动,能尽早发现软件缺陷,是软件测试的基础。以往单元测试只针对服务器端语言,随着web业务的发展,前端代码日趋复杂,使得对JavaScript进行单元测试尤为重要。
代码覆盖率是软件测试的度量指标,反映测试用例对被测软件代码的覆盖程度,量化测试工作。通过代码覆盖率测试能及时确认未被测试用例执行的代码,提前发现代码逻辑分支不合理之处,提升产品代码的可靠性和稳定性。
2 Istanbul介绍
Istanbul是前端JavaScript常用的代码覆盖率测试工具,以土耳其名城伊斯坦布尔命名,它可以静态直接统计JavaScript文件,也可以结合测试框架在单元测试中对JavaScript文件进行覆盖率统计。
Istanbul提供了四种代码覆盖率测量指标。语句覆盖率(statement coverage)统计代码中所有可执行语句的执行率。分支覆盖率(branch coverage)统计代码中所有分支的执行率,即判断的取真分支和取假分支是否都被执行了。……