単体テスト/結合テストなんて存在しない

テストプロセスを再定義する時代が来た。 単体テスト、結合テスト、システムテストといったテストレベルがテスト設計において寄与しているメリットはあるのか? また、それらが結局はプロジェクトのマイルストーンをひくための単なる慣習的な単語であり、実作業に悪影響を与えているのではないか。 という疑問をもったうさみみことkyon_mmの話にソフトウェアテストクラスタの方がつきあってくださいました。 kyon_mmは現在、ソフトウェアテストを勉強しはじめたばかりの人です。 続きを読む
54
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

シェンロンがいたら「全ての人にテストプロセスの教養を埋めこんでほしい」

2011-10-27 18:29:40
しんすく(け) さん。 @snsk

@kyon_mm もうおれそんな贅沢いわないから、「テストレベル」だけでいい(T-Tw

2011-10-27 18:30:29
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

Androidテスト部のMTGいきたかったけど、いってもはじかれておわるような気もしている。

2011-10-27 18:33:29
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@snsk www 僕は最近、テストレベルとはなんだったのか。という疑問にこまります。もう単体テストとかなんだったのかよくわからない。的な。

2011-10-27 18:34:30
しんすく(け) さん。 @snsk

@kyon_mm 単体と結合の境目って本当に本当にわからないですよね。なので僕は「人で切る」(1ヶ月後の自分も別人)を提案してます。

2011-10-27 18:36:31
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@snsk なるほど。。。ううむ。。。自分はNGTからテストアーキテクチャを設計していると、単体テストとか結合テストとかっていう名前がなんともあてはめにくくなって、逆に単体テストという言葉が横断的になって気持悪いっていう。。。

2011-10-27 18:39:51
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

東京><。 / 「ソフトウェアテスト 最初の一歩」セミナー : ATND http://t.co/V5IVruIa via @atnd

2011-10-27 18:45:59
しんすく(け) さん。 @snsk

@kyon_mm あああー!!そういうことか!!たぶん、それはテストレベル考える時じゃないと思います。NGTで戦略考えたあとに、テストレベルに割り振る感じと思ってました。テスト部MLになげたLWTPでも一応そうなってます。

2011-10-27 18:51:04
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@snsk えっと、なんで、そのあとにテストレベルにわりふる必要って本当にあったんだっけ?っていう疑問です。

2011-10-27 18:55:04
しんすく(け) さん。 @snsk

@kyon_mm おお!なるほど。確かに。僕らはどうしてもテスト計画がアタマにあるので、いつ、だれがやる?を考えてしまうのですが、どんなテストをするか?を考えるのにテストレベルという概念は不要かもですね。

2011-10-27 18:57:29
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@snsk はい。あと、実施者はそのテストをするのにどんなスキルが必要かで決まると思っているので、コーディングスキルなのか、インフラスキルなのか、とかになってきて、それって単体とかに分ける必要ないよね。っていう気がしていまして。まだ未経験なだけかもしれませんが。

2011-10-27 19:02:48
しんすく(け) さん。 @snsk

@kyon_mm あー、またちょっと違う議論かもですが、テストレベルに定義されているテストの段階によって実施者を分ける必要がない、というか、同じ人が違うレベルをやってもいいですし、同じレベルの中で分業するのもアリと思います。ので、そもそもそこは注目点ではないかなー、と。

2011-10-27 19:09:37
しんすく(け) さん。 @snsk

@kyon_mm あ、そういう場合があるのですね。なるほど。だと私はちょっと言を持たないすm(_ _;)m

2011-10-27 19:13:15
しんすく(け) さん。 @snsk

@kyon_mm おお!あざっす!!僕けっこう口からでまかせ言ってますので気をつけてください!!w

2011-10-27 19:20:58
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@snsk www でも、トークしていくなかで自分の考えが固まるってありますよねー

2011-10-27 19:22:14
しんすく(け) さん。 @snsk

@kyon_mm ええ、アヒルやサボテンに話しかけて考えをまとめる手法もあるようですww

2011-10-27 19:22:58
くっきぃ @MAQ69

テストタイプの話?? RT @snsk: @kyon_mm どんなテストをするか?

2011-10-27 19:24:41
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

自分の考えをまとめるために自宅でカピバラさんによく話しかけます。

2011-10-27 19:25:33
くっきぃ @MAQ69

@snsk: @kyon_mm テストレベルとテストタイプを意識すると無駄な発散は押さえれるかなと思うのですが。もちろん、狙ったレベルのものじゃないのもでてきますが、当てはめるというより、狙いを絞っておくことって大事では?(論点がずれてたら、ごめんなさい)

2011-10-27 19:29:40
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@MAQ69 @snsk テストアーキテクチャを作って、設計、実装と進めていくときに、テストレベルって概念は必要ないんじゃないかって話です。保証したい目的や範囲が確定しているならテストレベルって単なる慣習にしか見えない的な。

2011-10-27 19:30:11
しんすく(け) さん。 @snsk

@kyon_mm @MAQ69 お話の根元は「根付いて欲しいテストの概念」だったような。んで、僕がテストレベルを推したのは、開発に関わる人全員がテストを考える最初の一歩にちょうどよいかなーと思ったから、です。

2011-10-27 19:33:49
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@MAQ69 @snsk 発端はNGTを使ってテストアーキテクチャを作るところになります。NGTはテストの関心事を全て洗い出してテストのベースを作っていくのでそういう意味ではくっきーさんのおっしゃってる手法とは趣が違いそうですね。

2011-10-27 19:35:48
残りを読む(77)

コメント

Tsuyoshi CHO @tsuyoshi_cho 2011年10月27日
規模と各ユニットの結合によるんじゃないかなぁ。あとソフト内部でのサービス提供があるかないか。全体が一丸になってたら単体なんてなくなるし...
0
deaf_maro @deaf_maro 2011年10月28日
システムにもよると思う。バッチ処理系であれば、プログラム単体でのテストを行った後に、JOB単位で結合テストを行う必要があると思うし。
0
kumonopanya @kumonopanya 2011年10月28日
一人で開発できるブロックをテストするのが単体テスト、複数人で開発して組み上げるのをテストするのが結合テスト。お客様に提出する前に動作を確認するのが製品テスト
0
kumonopanya @kumonopanya 2011年10月28日
あやふやになってしまった原因はプログラム作成技術の進歩(?)。最近では一つのプログラムあたりを数行から数十行ぐらいに収めている。昔は一つのプログラム当たり1万行とか普通にあった。
0
kumonopanya @kumonopanya 2011年10月28日
つまり逆転現象が起きてしまった、昔プログラムを書く人は本当の天才が書いていて、頭の中でプログラムを完成させてからコンピュータに入力したなどという伝説があった。それぐらいプログラムは個人の資質によって完成されていた面が強い。だからそれは製品としては保守などの面から難しいことがわかり、低い技術力の人でも理解できるように、テストという枠をはめて、それで高い技術者の暴走を抑えてきた。
0
kumonopanya @kumonopanya 2011年10月28日
逆に今では誰もが同じようなルールに従って大量に生産できるような方法論が確立され、それゆえにプログラムとテストでは立場が逆転をした。
0
kumonopanya @kumonopanya 2011年10月28日
プログラムにあわせてテストを書いていたのが、テストにあわせてプログラムを書くようになった。
0
trad11 @omotek1920 2011年10月28日
昔は単純に CTはDD工程で設計したとおり動作するか検証する ITはFD、BD工程で設計したとおり動作するか検証する STはBI工程で設計したとおり動作するか検証する って対応だった気がするけど。
0
trad11 @omotek1920 2011年10月28日
単純に仕様の確認をするのがテストなのだとすれば、仕様書自体がレイヤー的な構造に分かれていなければ試験も分ける必要は無いような気がするし。
0
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm 2011年10月28日
@yumotsuyo さんの「テストアプローチ」というツイートを追加しました。これが欲しかった!
0
Pzkpfw4@Sd Kfz 161/1 @Pz_4 2011年10月31日
テストは価値の話じゃなくて、基準に基づいた事実の追及。手段と目的が転倒している発言集と見ゆる。
1
きゃっつ(Kats)⊿ @grayengineer 2015年9月9日
単純により上位のテストのときに摘出された不具合の要因を特定するときに、下位のテスト結果が要因の可能性を消去する材料になるから、つまり上位のテストをより効率よくするために下位のテストがあるんだと思ってますけどね
0