Backside of coverage measurement of Go

By po3rin

Elevator Pitch

Goにおけるカバレッジが、内部でどのように計測されているのかについて話します。

Goのカバレッジの内部を知ることで、普段使っているカバレッジツールが何を担保し、何を担保しないのかを理解できます。

Goのテストでは静的解析によって元のソースコードの制御構文にカウンターが仕込まれます。そして、Goのカウンターの仕込み方からテストを書く上で気をつけなければいけない点が明らかになります。

よってLTでは

・Goのカバレッジが計測される仕組み(静的解析でカウンターを仕込むコードを追いながら)

・Goが命令網羅率でカバレッジ計測されていることの説明と、気をつけるべき点

をお話します。

Description

全体で5分を想定しています。

「Goのカバレッジ計測の仕組み」 4分
カウンターを差し込む静的解析コードの解説

「Goのカバレッジ計測が何を担保しないのか」 1分 C0カバレッジとは
C0カバレッジが担保しないものとは