忍者ブログ
日々の生活や仕事における出来事などを 気分しだいで書き綴っていきます。
カレンダー
04 2025/05 06
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
ベストセラー
リンク
最新トラックバック
カウンター
PR
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

テスト工数と分割リリースについて
-----

現在携わっている案件でシステムテストをする際、
気になることがあったのでちょっと書いてみる。

稼働中のシステムに新機能を追加する場合、
新機能が正しく動作することを確認するだけでなく、
既存機能も正しく動作することを確認しなければなら ない。
このテストのことを「リグレッションテスト」(regression test)とか
「回帰テスト」、「退行テスト」とか言ったりする。

ここで、定性的に次のことが言える。
(1)既存システムの規模が大きいほど、リグレッションテストの工数も大きくなる。
(2)リリース回数が多いほど、リグレッションテストの回数も多くなる。

では、定量的に表現するとどうなるか、具体的な数値で計算してみる。

■前提条件
・既存システムの規模は、20機能。
・10ヶ月後までに10機能を新機能としてリリースする。
・分割してリリースする際は、均等に分割する。
・リリースの際は全機能(既存機能+新機能)のテストを行う。
・各機能のテスト工数は同程度であるとする。
・テスト工数の単位は「機能」で表す。

■計算パターン
・パターンA・・・10ヵ月後に10機能まとめて1回リリース。
・パターンB・・・5ヶ月ごとに5機能ずつ2回リリース。
・パターンC・・・2ヶ月ごとに2機能ずつ5回リリース。

■パターンAの場合
1回目のリリース:30機能テスト
(既存機能20+新機能10)

テスト工数合計:30機能

■パターンBの場合
1回目のリリース:25機能テスト
(既存機能20+新機能5)
2回目のリリース:30機能テスト
(既存機能25+新機能5)

テスト工数合計:25+30=55機能

■パターンCの場合
1回目のリリース:22機能テスト
(既存機能20+新機能2)
2回目のリリース:24機能テスト
(既存機能22+新機能2)
3回目のリリース:26機能テスト
4回目のリリース:28機能テスト
5回目のリリース:30機能テスト

テスト工数合計:22+24+26+28+30=130機能

■まとめ
既存機能:20
新機能:10
1分割リリースの場合:30
2分割リリースの場合:55
5分割リリースの場合:130

■考察
パターンCの足し算を眺めてみると、
 初項22、末項30、公差2、項数5
の等差数列の和であることに気づく。
つまり、等差数列の和の公式が利用できる。
テスト工数合計をSとすると、
S=(初項+末項)×項数÷2
 =(22+30)×5÷2
 =130

ここで、さらに一般化してみる。
既存機能数をA、新機能数をD、リリース分割数をNとすると、
公差はD/N、初項はA+D/N、末項はA+Dとなる。
すると、テスト工数合計Sは、
S=(初項+末項)×項数÷2
 =(A+D/N+A+D)×N÷2
 =(A+D/2)N+D/2
と表せる。
つまり、テスト工数合計Sは、
リリース分割数Nの1次関数になることが分かる。


と、こんな感じで計算して気が済んだので、とりあえず終了とする。

拍手[1回]

PR
この記事にコメントする
Name:
Title:
Mail:
URL:
Color:
Comment:
pass: emoji:Vodafone絵文字 i-mode絵文字 Ezweb絵文字
PR
ブログ内検索
プロフィール
HN: Atchi(あっち)
年齢: 41
性別: 男性
誕生日:  1983/07/28
職業: IT業界の雑魚
趣味: 映画、音楽、ゲーム、PC、歴史
自己紹介:
活動の記録をWebに残したい、
文章力を向上させたい、
2012年こそは何か始めたい、
そんな思いからブログを始めてみました。
稚拙な文章・内容ですが、
お付き合いいただけたら幸いです。
忍者ブログ [PR]
Copyright(C) Atchiのブログ(あっちのぶろぐ) All Rights Reserved