Upload
kotaro-ogino
View
1.035
Download
3
Embed Size (px)
DESCRIPTION
誰がテスト自動化をするべきか 継続的システムテストスピンオフ企画第一弾 ~あなたのテスト自動化は大量のテストを高速実行するだけですか?〜 というタイトルのLT発表のスライドです。 詳細はこちらです。 http://kokotatata.hatenablog.com/entry/2014/10/24/190131
Citation preview
誰がテスト自動化をするべきか継続的システムテストスピンオフ企画第一弾
~ あなたのテスト自動化は大量のテストを高速実行するだけですか?〜2014/10/24
荻野 恒太郎[email protected]
2
「テストの自動化」と聞くと
何をイメージしますか?
3
「テストの自動化」と聞くと
何をイメージしますか?大量のテストを
高速に実行する事
4
“ 俺”のテスト自動化
開発 PRJ で •1万件 のテストシナリオ • 100 時間の実行時間のシステムテストを自動化
5
“ 俺”のテスト自動化
開発 PRJ で •1万件 のテストシナリオ • 100 時間の実行時間のシステムテストを自動化継続的システムテスト
6
継続的システムテストについて社外講演
http://www.jasst.jp/http://www.juse.jp/sqip/symposium/
7
そろそろこのディスカッションに決着をつけようか
「テスト自動化って
誰がするべき?」
8
テスト自動化の大変なところ
仕様設計 レビュー
テスト実装プロセス
機能実装プロセス
テストレビュー
9
テスト自動化の大変なところ
仕様設計 レビュー
テスト実装プロセス
機能実装プロセス
テストレビュー
① 十分な量のテストを自動化出来ないとバグを見逃してしまう
テスト自動化 = 大量のテストの高速実行 ?
10
ある開発 PRJ での 2013 年のバグカーブ
0 200 400 600 800 10000
20
40
60
80
100
(検
出バ
グ数
)
累積コミット数
11
大量のテストを高速実行しているだけだと…
0 200 400 600 800 10000
20
40
60
80
100
(検
出バ
グ数
)
累積コミット数
12
大量のテストを高速実行しているだけだと…
0 200 400 600 800 10000
20
40
60
80
100
(検
出バ
グ数
)
累積コミット数
イテレーション終了のギリギリまでバグが出続ける = 炎上
13
テスト自動化の大変なところ
仕様設計 レビュー
テスト実装プロセス
機能実装プロセス
テストレビュー
① 十分な量のテストを自動化出来ないとバグを見逃してしまう
14
テスト自動化の大変なところ
仕様設計 レビュー
テスト実装プロセス
機能実装プロセス
テストレビュー
① 十分な量のテストを自動化出来ないとバグを見逃してしまう
テスト自動化 = 開発プロセスの品質改善
15
開発プロセスの品質改善からみたテスト自動化の大変なところ
仕様設計 レビュー
テスト実装プロセス
機能実装プロセス
テストレビュー
① 十分な量のテストを自動化出来ないとバグを見逃してしまう
16
開発プロセスの品質改善からみたテスト自動化の大変なところ
仕様設計 レビュー
テスト実装プロセス
機能実装プロセス
テストレビュー
② 抜け漏れや間違いが あると手戻りが大変
③ 同時に終わらないと サイクルタイムが遅くなる!!
① 十分な量のテストを自動化出来ないとバグを見逃してしまう
④ 欠陥特定は 自動化が困難
17
開発プロセスが品質改善されテスト自動化がうまく回ると
0 200 400 600 800 10000
20
40
60
80
100
(検
出バ
グ数
)
累積コミット数
18
開発プロセスが品質改善されテスト自動化がうまく回ると
0 200 400 600 800 10000
20
40
60
80
100
(検
出バ
グ数
)
累積コミット数
19
開発プロセスが品質改善されテスト自動化がうまく回ると
0 200 400 600 800 10000
20
40
60
80
100
(検
出バ
グ数
)
累積コミット数
イテレーションの初期でバグが見つかる!!
20
開発プロセスの品質改善とテスト自動化のスキルセット
スキルセット
① 抜け漏れや間違い
レビュースキル (アプリケーション知識) (運用知識) (設計知識) (テスト容易性)
② 網羅的な自動テスト
様々なテスト設計技法ソフトウェア開発スキル網羅性評価 設計知識とメトリクス
③ マネージメント テストの優先順位付け 設計知識とメトリクススクラム
④ 欠陥特定 テストアーキテクチャアプリケーション知識
21
開発プロセスの品質改善とテスト自動化のスキルセット
スキルセット
① 抜け漏れや間違い
レビュースキル (アプリケーション知識) (運用知識) (設計知識) (テスト容易性)
② 網羅的な自動テスト
様々なテスト設計技法ソフトウェア開発スキル網羅性評価 設計知識とメトリクス
③ マネージメント テストの優先順位付け 設計知識とメトリクススクラム
④ 欠陥特定 テストアーキテクチャアプリケーション知識
開発とテスト両方のスキルセットが必要
22
色々言いたい事がある .. 例えば…
開発者への問い :- 非機能要件について運用やユーザ視点のテスト書けてる ?- C1,C2 と Mutation testing を使って、 テストケースを減らす事、欠陥特定を行えている ?
テスターへの問い :- 仕様策定や設計の段階で不具合を見つけてる ?- アプリケーション知識とソースコード、ログ、テスト結果から 素早く欠陥特定出来てる ?
マネージャーへの問い :- リスク、設計、バグ、プロダクトとプロセスメトリクスを 使用してテストプロセスの改善出来てる ?- 機能とテスト実装が同時に終わるようタスク分割出来てる ?
23
LT では時間がないので3つだけ
開発者への問い :- 非機能要件について運用やユーザ視点のテスト書けてる ?- C1,C2 と Mutation testing を使って、 テストケースを減らす事、欠陥特定を行えている ?
テスターへの問い :- 仕様策定や設計の段階で不具合を見つけてる ?- アプリケーション知識とソースコード、ログ、テスト結果から 素早く欠陥特定出来てる ?
マネージャーへの問い :- リスク、設計、バグ、プロダクトとプロセスメトリクスを 使用してテストプロセスの改善出来てる ?- 機能とテスト実装が同時に終わるようタスク分割出来てる ?
24
LT では時間がないので3つだけ
開発者への問い :- 非機能要件について運用やユーザ視点のテスト書けてる ?- C1,C2 と Mutation testing を使って、 テストケースを減らす事、欠陥特定を行えている ?
テスターへの問い :- 仕様策定や設計の段階で不具合を見つけてる ?- アプリケーション知識とソースコード、ログ、テスト結果から 素早く欠陥特定出来てる ?
マネージャーへの問い :- リスク、設計、バグ、プロダクトとプロセスメトリクスを 使用してテストプロセスの改善出来てる ?- 機能とテスト実装が同時に終わるようタスク分割出来てる ?
一人で全部やれるスーパーエンジニアがいるならその人にお任せするのも選択肢
でも、そうじゃないならみんなが協力した方がいいんじゃないかな
25
テスト自動化は誰がするべきか?
大量のテストの高速実行が目的ならば
キーワード駆動テストとかPageObject パターン使え
ば誰がやっても同じ
けど、確実に炎上します w
26
テスト自動化は誰がするべきか?
開発プロセスの品質改善活動としてみんなが協力したら
バグ修正日数やバグの早期発見で
高い効果が出る YO
27
継続的システムテストについて社外講演
http://www.jasst.jp/http://www.juse.jp/sqip/symposium/
メリット①バグが速く直せる!
メリット②バグを早期発見!
28
もっと知りたい方は検索!
29
似たような話って他にもありますよね
「障害対応って誰がするべき?」
30
“10+ Deploys Per Day: Dev and Ops Cooperation at Flickr”http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
31
あ、そうだ
32
Continuous Testing や DevOps のエンジニアを探してるんだった!!!
33
Continuous Testing や DevOps のエンジニアを探してるんだった!!!
・ ビジネスをさらにドライブさせていくための 開発スピードの高速化 (アジャイル、 CD 、 Continuous Testing )
・ レガシーシステムをテクノロジーで 変革を加えていく (テクニカルチャレンジ)
・ 開発スピードを殺さず、サービス / システムの 信頼性を向上させるためのさらなる取り組み ( DevOps )
34
Let’s improve quality