Upload
kyon-mm
View
16.116
Download
2
Embed Size (px)
DESCRIPTION
http://madoguchi100.connpass.com/event/8204/ で発表したスライドです
Citation preview
テストエンジニアの品格kyon_mm 2014.09.03
Self Introduction
• きょん kyon_mm
• テストアーキテクト 2年目
• TDD/BDD, SCM, Agile, Softwaretest, SoftwareEngineering
• なごや
• 基礎勉強会, SCMBC, Nagoya.Testing, Cafe.Testing
テストエンジニアって 必要とされていますか?
それってぶっちゃけ誰でもよかったりしませんか?
っていうか、 開発者がやればいいんじゃねーの?
では、タイトルに戻りましょう
品格のはじめ
• 「あの人と一緒に開発したい、あの人のようなテストを出来るようになりたい、あの人のようなテストが出来る人を周りに置きたい」
• そう思われるような立ち居振る舞いをするテストエンジニアが「テストエンジニアとして品がよい」という意味
• とします!
どんなテストエンジニアと仕事したいですか?
一緒に仕事したい テストエンジニア例
ぬるい!ぬるすぎる!
それでプロダクトの品質向上や、プロジェクトを成功へ導くというのは達成できるのでしょうか?
結局我々はなんでも出来る人が欲しいのである。
そのうち、テストが得意な人がほしい。
っていうか、現実問題、だいたいのこと出来ないと、プロダクトの品質を上げることに寄与するなんて出来る訳がない。
そうでないならどっちか 高度に発達したプロジェクト スキルを問わないプロジェクト
なら、なりましょう。
私がテストエンジニアになりたてのころ言われた言葉を贈ります。
「バイザー100回読め」
バイザー本
• ソフトウェアテスト技法 -> 443p (言われたのはこっち
• 実践的プログラムテスト入門 -> 265p
まぁ1年くらいあれば 100回くらい読める
テストの学習をすると比較的なんでもやることになります。 なんでもやることになる必要が出てきていないのは、とても狭い範囲を学習しているからです。
(断言
学習対象例• マネジメント
• ストラテジー、アーキテクチャ
• デザイン
• レポート
• アプリケーションドメイン
• ソリューションドメイン
開発のための~、テストのための~、の両方を知らないと 対症療法的になりがち (後手になる)
たくさんあって大変だ>< そうお思いでしょう?
朗報です
SWEBOK V3 ソフトウェア工学知識体系 Version3はなんと無料でダウンロードできます!
っていうか、SWEBOKもバイザーも皆さん読んでいますよね><(煽り
学習曲線がよいかどうかはさておき、 知識体系とか資格書というのは比較的
幅広く扱っています。
専門書を何冊も買うのが嫌で、教科書から応用を出来る人には最適
です。 でも、そんな人まれだし、私には関係ない。そうお思いでしょう?
テストエンジニアがどうであるかはさておき、チームの中で最も品質面に頼
りにされる人が、 プロジェクトを俯瞰出来る知識なしでうまくいくわけないじゃないですかー。
つまり、ある程度体系的な知識は必要になります。っていうか、ないと「あの人ユーザビリティはよく見れるけど、それだけだよね。それで全体の儲けがよくなるかはケースバイケースすぎるっていうか」とか言われちゃいますよ!!
ソフトウェア開発の体系 (僕の中では義務教育)
• REBOK -> 要求工学の知識体系
• BABOK -> ビジネス分析の知識体系
• SWEBOK -> ソフトウェア工学の知識体系
• SQuBOK -> ソフトウェア品質の幅広い知識体系
• ISO25000 -> ソフトウェア品質のモデル化や体系化
テスト専門の体系 (僕の中でテスターの義務教育)
• Software Testing and Quality Assurance Theory and Practice -> ソフトウェアテストの知識体系的な
• ISTQB/JSTQB -> 読んでおくと話が通じやすくなる可能性が高い
• ISO29119 -> 賛否両論渦巻いているソフトウェアテストの標準
知識をつけたら振る舞い方も 学ぼう
• ボーリスバイザー
• レックスブラック
• ケムカーナー
• リッククレイグ
• ジェームスバック
• ウィテカー
• GJマイヤーズ
正直どれから手を付けてもよいのですが、ケムカーナーの「基本から学ぶソフトウェアテスト」はバランスがよい気がします。
長いけど。
最近のチーム開発についても知りましょう
• 実践アジャイルテスト
• Specification By Example
• チーム開発実践入門
• LEAN Sereis
ここらへんまで知ってたら 「あ、入場どうぞ」みたいな感覚です。
っていうか、この辺まで知らないと、「似たプロジェクトで使ったドキュメントを真似てテスト○○をする」っていうくらいし
か出来ない。
それ、あなたはエンジニアリングしているんでしたっけ><
あなたがプロジェクトを良くする可能性を持つというのは、テストの膨大な知識を持った上で、プロジェクトに最適なものを探し、創ることができるということ
で、テスト「エンジニア」っていうからには、テストをよりよくしていくは
ずなので。
テストエンジニアならやって普通じゃね?みたいな
• プロジェクトに合わせて次のものを自作、カスタマイズ
• テストツール、テスティングフレームワーク
• ビルドツール
• CIサーバー
• テストドキュメントを用途に応じて変換や生成するツール
• バグがありそうな部分を予測、計測するツール
• テストケース生成
ま、っていうくらいまでやれると、「あぁ、きょんくんに任せたいね」っ
てなると思うんですよ。
で、加えるとだな
ソリューションはたくさん
• 証明プログラミング(Coq, SSReflect, Agda, etc)
• モデル検査(Alloy, etc)
• 仕様記述言語(VDM++, B-method, etc)
• 契約プログラミング
• レビュー
っていうか、この辺検討しないってROI計算したんでしょうか?
ROI?
コストや投資の計算
• ROI
• CBA
• ROI, CBAをベースにしたメソッド
• 様々な意思決定メソッド
効果的であるかはとても重要ですね。
効果的?
メトリクスをとる一般論
• GQM
• Effective Mapping
• Impact Mapping
まとめ
まとめ• テストエンジニアはおそらくはスキル要求が最も広いと思われます。
• 品のよいテストエンジニアになりたいなら、あなたがプロジェクトの品質向上に最適なソリューションを丁寧に出せるようになる必要があります。
• テスト/エンジニアリング/サイエンスとあるのなかでテストは懐が広めの業界ですので、いろいろ聞きやすいです。
ご清聴ありがとぴょん◆