実現したいこと
単体試験(単体テスト、UnitTest、UT)で、「分岐網羅できるだけの単体試験項目数」を抽出するよい手法を知りたい。
前提
・新人の開発エンジニアです。仕事で、単体テストを担当することになりました。プログラミング経験はほぼゼロです。
・言語はpythonで、テストフレームワーク(pytest)やC1カバレッジの取得方法(pycov)などの準備は事前に済ませています。
・テスト対象のモジュールは40ほどです。テスト対象のコードを1つ開いたところ、行数が2000行ありました。
単純計算で2000*40=80000行のコードに対して項目数を抽出する必要があるようです。
発生している問題
上司から「テスト項目数を抽出するように」と言われたのですが、目検で80000行すべての項目を抽出するとなると、時間がかかりすぎるし間違えそうです。
また、まわりに単体テスト経験者がおらず、一般的にどのような手法で項目数を抽出しているか聞くことができません。
if文のみで構成されている場合は2パターン×条件数でよいかな?という認識はあるのですが、例えば下記のような場合、if文はないけれど、試験項目数は戻り値が0か-1の、2つになると思います。
python
1def piyo(foo,bar): 2 ret = 0 3 fuga = "hogehoge" 4 try: 5 subprocess.call(fuga, shell=True) 6 except Exception as e: 7 ret = -1 8 9 return ret
これらのような分岐を、すべて目検で拾うことが大変かなと、なにか効率よく抽出するほうほうはないかなと模索しているところです。
単体試験(単体テスト、CT)で、「分岐網羅できるだけの項目数」を抽出するよい手法を知りたいので、
知見のある方、お知恵を貸していただけませんでしょうか。
一発で済む魔法はないと思うのですが、おすすめのツールやフレームワーク、また経験談などあれば助かります...
正解がないので難しい話だとは思うのですが、よろしくおねがいします。
試したこと
ググって、単体テスト項目数抽出の手法を調べた。(コーディングの話が多くヒットして、実務の話がうまく見つけられなかった)
補足情報(FW/ツールのバージョンなど)
python2.7
IDEはpycharmを使っています
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/14 09:37