Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ソフトウェアテストことはじめ

6,359 views

Published on

作者がソフトウェアテストを学びはじめて、勉強会を主催するにいたるまでの経緯をまとめました。

Published in: Software
  • Be the first to comment

ソフトウェアテストことはじめ

  1. 1. ソフトウェアテストことはじめ 藤沢 耕助
  2. 2. ソフトウェアテストことはじめ Kosuke Fujisawa© 自己紹介 藤沢 耕助 twitter: mhlyc facebook:本名 ブログ:http:// mhlyc.hatenablog.com 分野 エンタープライズ系 業務 現在はSIer企業の関東事業所にて 勤務 品質保証部 ソフトウェアテスト 設計書レビュー 2
  3. 3. ソフトウェアテストことはじめ Kosuke Fujisawa© はじめに 皆さんはソフトウェアテストをしていますか? 大学でソフトウェアテストの講義はほとんどない 「配属当初はテストばかりやらされた」と話す先輩方 テスト=誰でもできる という誤解 3
  4. 4. ソフトウェアテストことはじめ Kosuke Fujisawa© はじめに 私は新人でいきなりQA(品質保証部)に配属されました 現在、入社3年目です これまでどんな失敗をしてきたか、どう学んできたか これからテストについてどう学んでいくか、考えるきっか けにしていただきたい 4
  5. 5. ソフトウェアテストことはじめ Kosuke Fujisawa© 1年目 「テストってつまんなくね?」の本当の理由 「開発者VS テスター」という構図 テストだけ学ぶことの限界 5
  6. 6. ソフトウェアテストことはじめ Kosuke Fujisawa© 1年目 「テストってつまんなくね?」の本当の理由 「開発者VS テスター」という構図 テストだけ学ぶことの限界 6
  7. 7. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 ソフトウェアテストとはどんな作業? 仕様書の内容を一つ一つ確認していくだけの、簡単なお 仕事? ソフトウェアテスト、楽しいですか? 7
  8. 8. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 自分が一年目に振られた仕事 「これ仕様書ね。これを読んで、テスト項目を作ってね」 「テスト期間は、作った項目をもとにテストして。何かバ グがあったら報告してね」 「テストが終わったら、バグの傾向とかをまとめて報告 書作ってね」 8
  9. 9. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 いや、こんなにつまらない仕事を するなんて頭おかしい。 9
  10. 10. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 どうしたらこの仕事が面白くなるのか? テストエンジニアのための、1泊2日のワークショップ 「 WACATE」に参加してみました(http://wacate.jp) 10
  11. 11. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 WACATEには、テスト=創造的な仕事 ととらえている人 がたくさんいた 「テストって楽しいよね!」 「QAに配属されたの!?よかったねー、きっと期待され てるよ!」 11
  12. 12. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 WACATEに行ってみて気づいたこと テストは仕様書に沿って確認するだけではない もっと広く、深くテストするためのテスト分析、設計技 法がある テスト実行がつまらないのなら、自動化を進めればいい 12
  13. 13. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 13 1. 計画、モニタリング、コントロール 2. テスト分析 3. テスト設計 4. テスト実装 5. テスト実行 6. 終了基準の評価とレポート 7. テスト終了作業 参考:テスト技術者資格制度 Advanced Level テストアナリスト
  14. 14. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 14 1. 計画、モニタリング、コントロール 2. テスト分析 3. テスト設計 4. テスト実装 5. テスト実行 6. 終了基準の評価とレポート 7. テスト終了作業 参考:テスト技術者資格制度 Advanced Level テストアナリスト テストケースを作って、 テストするだけじゃないんだ!
  15. 15. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 「ソフトウェアテストは、開発作業と同様の作業を行う必 要があります」 マインドマップから始めるソフトウェアテスト,池田 暁/鈴木 三紀夫, 技 術評論社,2007 「ソフトウェアテストという作業はプログラミングに負け ず劣らず困難であり、かつ創造的な仕事です」 知識ゼロから始めるソフトウェアテスト,高橋 寿一,翔泳社,2015 15
  16. 16. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 ソフトウェアテスト=創造的な仕事 ソフトウェアテスト=単純な仕事 16
  17. 17. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 ソフトウェアテスト=創造的な仕事 ソフトウェアテスト=単純な仕事 という、思い込み 本当は、 17
  18. 18. ソフトウェアテストことはじめ Kosuke Fujisawa© 「テストってつまんなくね?」の本当の理由 ソフトウェアテスト=創造的な仕事 ソフトウェアテスト=単純な仕事 という、思い込み 本当は、 ソフトウェアテストを学んで、 テストの奥深さを知りたい! 18
  19. 19. ソフトウェアテストことはじめ Kosuke Fujisawa© 1年目 「テストってつまんなくね?」の本当の理由 「開発者 VS テスター」という構図 テストだけ学ぶことの限界 19
  20. 20. ソフトウェアテストことはじめ Kosuke Fujisawa© 「開発者VS テスター」という構図 テスターは、開発者の作成したプログラムのバグを指摘し なければなりません 「え?仕様?いやいや、バグですよね。直してくださいよ」 20
  21. 21. ソフトウェアテストことはじめ Kosuke Fujisawa© 「開発者VS テスター」という構図 21
  22. 22. ソフトウェアテストことはじめ Kosuke Fujisawa© 「開発者VS テスター」という構図 テスターが指摘する側だからといって「テスターのほうが 偉い」とはならない ものが出来なければテストも何もない 対立ではなく、協力してひとつのものを作り上げる意識が 大切 22
  23. 23. ソフトウェアテストことはじめ Kosuke Fujisawa© 1年目 「テストってつまんなくね?」の本当の理由 「開発者VS テスター」という構図 テストだけ学ぶことの限界 23
  24. 24. ソフトウェアテストことはじめ Kosuke Fujisawa© テストだけ学ぶことの限界 テストにはブラックボックステストとホワイ トボックステストの二種類がある 24
  25. 25. ソフトウェアテストことはじめ Kosuke Fujisawa© テストだけ学ぶことの限界 ホワイトボックステスト:プログラムの論理 構造が正しいかを解析するテスト(内部構造 を解析する) 参考:知識ゼロから始めるソフトウェアテスト 25
  26. 26. ソフトウェアテストことはじめ Kosuke Fujisawa© テストだけ学ぶことの限界 ブラックボックステスト:プログラムを一種 のブラックボックスと見立て、さまざまな入 力を行うことによってテストを行う(内部構 造、ソースコードは見ない) 参考:知識ゼロから始めるソフトウェアテスト 26
  27. 27. ソフトウェアテストことはじめ Kosuke Fujisawa© テストだけ学ぶことの限界 完全なブラックボックステストには限界がある 例:隠された境界値(開発者に聞くと、「実はこの値を ここで使っていて…」という話が後から出てくる) ある程度、内部構造を「推定」できることが重要 そのためには、自分で設計・開発した経験があると良い 27
  28. 28. ソフトウェアテストことはじめ Kosuke Fujisawa© テストだけ学ぶことの限界 そもそもテスト自体がエンジニアリング。テストには設計 もあるし開発もある 設計・開発技術を持たずにテストだけ学ぶことには限界が ある 28
  29. 29. ソフトウェアテストことはじめ Kosuke Fujisawa© 2年目 開発に「埋没」してしまう 品質を作り込むのは開発工程。テスト工程ではない 矢面に立つのか、それとも安全圏にずっといるのか 29
  30. 30. ソフトウェアテストことはじめ Kosuke Fujisawa© 2年目 開発に「埋没」してしまう 品質を作り込むのは開発工程。テスト工程ではない 矢面に立つのか、それとも安全圏にずっといるのか 30
  31. 31. ソフトウェアテストことはじめ Kosuke Fujisawa© 開発に「埋没」してしまう テスターとはいえ開発の現場を知らないのはまずいだろ う、ということで開発の現場に約半年アサインされた 最初は現場の問題点も見えていて、改善点を指摘すること でメンバーにも喜ばれた 31
  32. 32. ソフトウェアテストことはじめ Kosuke Fujisawa© 開発に「埋没」してしまう ところが、数ヶ月開発に没頭していると、いつの間にか日々 の作業に「埋没」してしまっていることに気づいた 残業前提のスケジューリング 生産性、効率を考えずダラダラとコーディング 「長く働くこと=頑張っている」という風潮 32
  33. 33. ソフトウェアテストことはじめ Kosuke Fujisawa© 開発に「埋没」してしまう 人間は環境に流されるもの 自分の行動次第とは言っても、実際環境に流されずに物事 を推進するのは生半可なものではない 「本当に価値のあるものを顧客に提供する」という強い意 思を持って仕事をする プロ意識、技術者倫理 33
  34. 34. ソフトウェアテストことはじめ Kosuke Fujisawa© 2年目 開発に「埋没」してしまう 品質を作り込むのは開発工程。テスト工程ではない 矢面に立つのか、それとも安全圏にずっといるのか 34
  35. 35. ソフトウェアテストことはじめ Kosuke Fujisawa© 品質を作り込むのは開発工程。 テスト工程ではない 「品質が悪かったので、テスト工程で品質向上しました」 これって本当に良いこと? 35
  36. 36. ソフトウェアテストことはじめ Kosuke Fujisawa© 品質を作り込むのは開発工程。 テスト工程ではない QA(テストエンジニア)は、いかに開発工程で品質を作り 込むか考え、品質確保施策を指導していく立場 テストでバグが出る=QAがQAの仕事をできていない証拠 テストになってから品質が悪い、と気づいても手遅れ 36
  37. 37. ソフトウェアテストことはじめ Kosuke Fujisawa© 補足:品質保証活動の遷移 出口検査:検査で不良品を選別(検査重点主義) そもそも生産の過程から、基準を達成する製品を作ればよく ね?(品質は工程で作り込む)(工程管理重点主義) 設計の段階からよいものを作れればもっと良いよね(品質は 設計と工程で作り込む)(新製品開発重点主義) 参考文献:ソフトウェア品質知識体系ガイド 第2版,オーム社,SQuBOK策定部会, 2014 37
  38. 38. ソフトウェアテストことはじめ Kosuke Fujisawa© 2年目 開発に「埋没」してしまう 品質を作り込むのは開発工程。テスト工程ではない 矢面に立つのか、それとも安全圏にずっといるのか 38
  39. 39. ソフトウェアテストことはじめ Kosuke Fujisawa© 矢面に立つのか、 それとも安全圏にずっといるのか テストについて勉強し始めた自分は、「テスト設計コンテ スト」なるものの存在を知っていました 自分は決勝戦を観客として観に行きました 39
  40. 40. ソフトウェアテストことはじめ Kosuke Fujisawa© 矢面に立つのか、 それとも安全圏にずっといるのか 40 自分が勉強会などでお世話になっている、佐藤さんのチー ムが見事優勝しました
  41. 41. ソフトウェアテストことはじめ Kosuke Fujisawa© 矢面に立つのか、 それとも安全圏にずっといるのか 41 自分はいったい、 なにをしているんだろう?
  42. 42. ソフトウェアテストことはじめ Kosuke Fujisawa© 矢面に立つのか、 それとも安全圏にずっといるのか 42 ・見られる側 ・意見される側 ・自分が与える側 ・見てるだけ ・意見は一丁前に言う ・クレクレ君 矢面安全圏 大きな ギャップ
  43. 43. ソフトウェアテストことはじめ Kosuke Fujisawa© 矢面に立つのか、 それとも安全圏にずっといるのか 「安全圏からしか撃てぬ腰抜けどもめ!」 —死せる英雄達の戦い-Ηρωμαχια- Sound Horizon— 自分も同じように、矢面に立って戦いたい! 勉強会で発表、ブログで意見表明など 43
  44. 44. ソフトウェアテストことはじめ Kosuke Fujisawa© 3年目 プロセスとは何か ー似たようなバグが減らない理由ー 44
  45. 45. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー QAに配属された当初、「このプロセスに沿って仕事をしな さい」といった指導を受けた 正直めんどくさいなー、と思いました 実際、開発者でそのような規格、プロセスを守っている人 はあまり見たことがなかった 45
  46. 46. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー 3年目になり、ソフトウェアエンジニアリングのプロセス 改善について考えるようになった プロセス改善とは、バグを作り込んだ原因となるプロセス を改善する活動のこと 問題の大元、根元にアプローチすることで再発を防ぐ しかし、実はこの活動にはレベルがあった 46
  47. 47. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー レベル1 アドホックな活動 レベル2 適切なものごとを行う レベル3 ものごとを適切に行う レベル4 刻々と変化する状況に絶えず順応する 参考文献:トリフォリオ/TPI NEXT® ビジネス主導のテストプロセス改善, 薮田 和夫/湯本 剛/皆川 義孝 訳,2015 47
  48. 48. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー これを個人の活動にあてはめると レベル1:「上司や同僚の指示に対して、手当たり次第にとりかかる」 レベル2:「上司や同僚の指示から、必要な作業が何か考え、抜けがないよう 実施する」 レベル3:「上司や同僚の指示から、適切なプロセスを定義して作業する」 レベル4:「上司や同僚の指示から、状況に応じてプロセスを変更、追加しな がら対応する」 参考:http://mhlyc.hatenablog.com/entry/2015/09/25/055503 48
  49. 49. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー より具体的に、「バグ票を書いてくれ」と指示を受けた時の反応 レベル1:バグ票を書く レベル2:バグ票に必要な項目を考えて、抜けがないように書く レベル3:バグ票記入の作業手順を定義して、その通りに書く レベル4:バグの内容やバグ票の記載内容に求められていること を考えた上で、作業手順を追加したり、あるいは削ったりする 49
  50. 50. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー 組織の成熟度レベルは個人の活動にもあてはめることができる 実際の仕事を振り返ると、言われたことにただ「反応」して仕 事をしていたことがあった(先述の「レベル1」に相当) このレベルでは、プロセス改善もままならない プロセス改善を主導する側も、当然このような意識ではいけな い 50
  51. 51. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー 何のメモも無しに作業するのは、何のメモも無しにコード を書くようなもの 一度、プロセスをすべて定義してから作業をしてみるのが 良い(先述の「レベル3」に相当) 意外と、思った以上に、労力は少なくなる 無駄な作業が省かれるため 51
  52. 52. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー プロセスを定義できるようになって初めて、次のレベルで ある「変化に合わせてプロセスを設計する」ということに チャレンジできるようになる プロセスを設計する:状況に応じてプロセスを追加・削 除・変更すること(先述の「レベル4」に相当) 本当のプロセス改善とはこのレベルの活動のことをいう 52
  53. 53. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー プロセスを自在に設計できるようになれば、バグの原因プロ セスに効果的にアプローチできる 結果的にバグは減り、品質・納期・コストの要求に対応でき るようになる(このレベルには私自身まだ到達していませ ん…) 参考:PFD(開発作業プロセスを設計する技術。DFDが元 になっている)(http://kohablog.cocolog-nifty.com/blog/pfd.html) 53
  54. 54. ソフトウェアテストことはじめ Kosuke Fujisawa© プロセスとは何か  ー似たようなバグが減らない理由ー 「QCD(品質・コスト・納期)はトレードオフの関係にあ る」は真っ赤な嘘 高品質のプロダクトを生産することで、バグは減り、対応に 使っていた無駄なコストや工数がかからなくなる 本当は “Quality is free” クオリティ・マネジメント―よい品質をタダで手に入れる法,フィリップ・B.クロスビー,日本能 率協会マネジメントセンター,1980 54
  55. 55. ソフトウェアテストことはじめ Kosuke Fujisawa© おわりに 最後に言いたいこと 55
  56. 56. ソフトウェアテストことはじめ Kosuke Fujisawa© おわりに 本当のゴールは「テストをすること」ではなく「顧客に価 値を提供すること」 「テストが不要になるようにすること」こそ、テストエン ジニアの使命 顧客に価値を提供するためには、テスト技術と設計・開発 技術の両輪が必要。どちらが欠けても実現は不可能 56
  57. 57. ソフトウェアテストことはじめ Kosuke Fujisawa© おわりに エンジニアとは、自分で考え、学び、実践し、顧客の要求 を「プロ」として実現していく職業 「プロ」として働くためには、日々の勉強が大切 「プロ」のエンジニアは、きっと人生が楽しくなると思う 57
  58. 58. ソフトウェアテストことはじめ Kosuke Fujisawa© 参考文献 知識ゼロから始めるソフトウェアテスト,高橋 寿一,翔泳社,2015 マインドマップから始めるソフトウェアテスト,池田 暁/鈴木 三紀夫, 技術評論社, 2007 クオリティ・マネジメント―よい品質をタダで手に入れる法,フィリップ・B.クロス ビー,日本能率協会マネジメントセンター,1980 ソフトウェア品質知識体系ガイド 第2版,オーム社,SQuBOK策定部会,2014 トリフォリオ/TPI NEXT®  ビジネス主導のテストプロセス改善,薮田 和夫/湯本 剛 /皆川 義孝 訳,2015 58
  59. 59. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 注意 これから紹介する書籍は、自分がこれまで勉強するのに 使った書籍です。 大きく偏りがあります。 バランスよく取り入れてください 59
  60. 60. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 初心者編(書籍) 知識ゼロから始めるソフトウェアテスト マインドマップから始めるソフトウェアテスト ソフトウェアテスト技法ドリル ソフトウェア・テストプレス(総集編) 60
  61. 61. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 初心者編(ブログ、Web上の記事) 3万円で始めるソフトウェアテスト(http://www.slideshare.net/Ikedon/ 3-33986542) 新人注目! テストを極める最初の一歩(http://gihyo.jp/dev/serial/01/ test_newface) テストリーダへの足がかり,最初の一歩(http://gihyo.jp/dev/serial/01/ vital_point) 61
  62. 62. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 初心者編(ブログ、Web上の記事) ソフトウェアテストを勉強しはじめて10ヵ月でやったこと(http://kyon- mm.hatenablog.com/entry/20120116/1326724925) テスト戦略、設計、手法、技法などなどのリンクをまとめてみた (http://kyon-mm.hatenablog.com/entry/20110505/1304586126) 僕がソフトウェア開発を勉強し始めて3年間でやったこと(http://kyon- mm.hatenablog.com/entry/20120521/1337570172) 62
  63. 63. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 初心者編(テスト技術者 シラバス) Foundation Level シラバス 日本語版(http://jstqb.jp/dl/JSTQB- SyllabusFoundation_Version2011.J02.pdf) 63
  64. 64. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 初心者編(日本語の文章表現の話) 明文術 64
  65. 65. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 初心者編(エンジニアとしての生きざま) わがSE人生に一片の悔いなし SEの人生を楽しくしよう http://homepage3.nifty.com/koha_hp/ フリーランスSEとして生きる道 65
  66. 66. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 中級者編(テスト技術者 シラバス) Advanced Level シラバス 日本語版 テストマネージャ(http://jstqb.jp/dl/ JSTQB-Syllabus.Advanced_TM_Version2012.J03.pdf) Advanced Level シラバス 日本語版 テストアナリスト(http://jstqb.jp/dl/ JSTQB-Syllabus.Advanced_TA_Version2012.J01.pdf) 66
  67. 67. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 中級者編 XDDP(派生開発に特化した開発プロセス) USDM(バグの大半を取り除く、要求の仕様化・表現技術) PFD(開発作業プロセスを設計する技術。DFDが元になっている) (http://kohablog.cocolog-nifty.com/blog/pfd.html) 67
  68. 68. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 中級者編(これから読む予定) SQuBOK(ソフトウェア品質)→200ページ読破 PMBOK(プロジェクトマネジメント) SWEBOK(ソフトウェアエンジニアリング) REBOK(要求工学) 68
  69. 69. ソフトウェアテストことはじめ Kosuke Fujisawa© 付録(その他自分が勉強に使った書籍・サイトなど) 中級者編(これから読む予定) ソフトウェア要求 実践ソフトウェアエンジニアリング TPI NEXT 69

×