Upgrade to Pro — share decks privately, control downloads, hide ads and more …

はじめてのソフトウェアテスト2019

rina
July 19, 2019

 はじめてのソフトウェアテスト2019

software testing

rina

July 19, 2019
Tweet

More Decks by rina

Other Decks in Technology

Transcript

  1. はじめての
    ソフトウェアテスト
    2019.7.26
    @____rina____
    Software testing to learn
    for the first time

    View Slide

  2. Who is?
    Rina Fukuda
    2
    Mercari,Inc. at Fukuoka QA Engineer
    *Chairman:
    Japan Symposium on Software Testing
    (JaSST) Kyushu
    *Board member:
    Association of Software Test Engineering
    (NPO ASTER):JaSST Responsible director
    *Technical commissioner:
    Japan Software Testing Qualifications Board (JSTQB)
    *Founder:
    Kyushu Software Testing Study Group
    *Blog : テストする人。
    @ ____rina____

    View Slide

  3.  品質に関するおはなし
     QCDについて
     ワーク1:立ち位置からの観点導出
     品質モデルの話:狩野モデル
     ソフトウェア品質モデルのおはなし
     ソフトウェアテストのおはなし
     ワーク2:マイヤーズの三角形問題
     ソフトウェアテストのお勉強的なおはなし
    アジェンダ
    3

    View Slide

  4. 品質に関するおはなし
    4

    View Slide

  5.  品質に関するおはなし
     QCDについて
     ワーク1:立ち位置からの観点導出
     品質モデルの話:狩野モデル
     ソフトウェア品質モデルのおはなし
     ソフトウェアテストのおはなし
     ワーク2:マイヤーズの三角形問題
     ソフトウェアテストのお勉強的なおはなし
    アジェンダ
    5

    View Slide

  6. Quality
    QCDについて
    6
    Cost
    Delivery
    品質
    コスト 納期

    View Slide

  7.  品質に関するおはなし
     QCDについて
     ワーク1:立ち位置からの観点導出
     品質モデルの話:狩野モデル
     ソフトウェア品質モデルのおはなし
     ソフトウェアテストのおはなし
     ワーク2:マイヤーズの三角形問題
     ソフトウェアテストのお勉強的なおはなし
    アジェンダ
    7

    View Slide

  8. それぞれの立ち位置(立場)で“製品の観点”を
    挙げてください。
    A:市場・顧客 B:製品企画
    C:設計・開発 D:テスト
    参考:現在のレビューに必要な次の一手を把握しよう! レビュー実践ウォークスルー
    安達 賢二
    http://www.slideshare.net/AdachiKenji/20150529-ja-sst15web
    ワーク1:立ち位置からの観点導出
    8

    View Slide

  9. “製品の観点”
    A:市場・顧客 B:製品企画
    C:設計・開発 D:テスト
    発表 | 立ち位置からの観点導出
    9

    View Slide

  10. “製品の観点”
    A:市場・顧客 B:製品企画
    使いたいか、流行りそうか、 売れそうか
    見た目のよさ、ステータス
    C:設計・開発 D:テスト
    簡単に 作れそうか、汎用性、 問題なく使えるか、
    最新技術が使えるか 使いやすいか
    発表(ほんの一例) | 立ち位置からの観点導出
    10

    View Slide

  11. 立ち位置が変わると
    同じ製品でも重要となる箇所が変わる
    ワークの目的 | 立ち位置からの観点導出
    11

    View Slide

  12.  品質に関するおはなし
     QCDについて
     ワーク1:立ち位置からの観点導出
     品質モデルの話:狩野モデル
     ソフトウェア品質モデルのおはなし
     ソフトウェアテストのおはなし
     ワーク2:マイヤーズの三角形問題
     ソフトウェアテストのお勉強的なおはなし
    アジェンダ
    12

    View Slide

  13. 狩野モデル
    https://sites.google.com/site/techdmba/kanomodel
    13
    顧客の満足感







    魅力的品質
    一元的品質
    当たり前品質
    満足
    不満足
    不充足 充足

    View Slide

  14. 製品品質モデル ISO/IEC 25010:2011
    14

    View Slide

  15. ソフトウェアテストのおはなし
    15

    View Slide

  16.  品質に関するおはなし
     QCDについて
     ワーク1:立ち位置からの観点導出
     品質モデルの話:狩野モデル
     ソフトウェア品質モデルのおはなし
     ソフトウェアテストのおはなし
     ワーク2:マイヤーズの三角形問題
     ソフトウェアテストのお勉強的なおはなし
    アジェンダ
    16

    View Slide

  17. 次のプログラムをテストするのに十分と思われる
    一連のテストケース(すなわち、十分なデータ
    のセット)を書き記してみよ。
    例:XXなテストケース
    1.このプログラムは、カードから3つの整数を読
    む。
    2.この3つの値は、それぞれ三角形の3辺の長さ
    を表すものとする。
    3.プログラムは、三角形が不等辺三角形、二等辺
    三角形、正三角形のうちどれであるかを決める
    メッセージを印字する。
    ワーク2:マイヤーズの三角形問題
    ソフトウェア・テストの技法 より GLENFORD J.MYERS
    17

    View Slide

  18. 有効
    1. 有効な不等辺三角形をあらわすテストケース
    例[A=3,B=4,C=5]
    2. 有効な正三角形 [A=B=C]をあらわすテストケース
    例[A=1,B=1,C=1]
    3. 有効な二等辺三角形 [A=B]をあらわすテストケース
    例[A=2,B=2,C=3]
    4. 有効な二等辺三角形の場合、2つの等辺を含む
    3種類の組み合わせ [A=B, B=C, C=A]をあらわす
    テストケース
    例[A=3,B=3,C=4][A=3,B=4,C=3][A=4,B=3,C=3]
    ワーク2(解答):マイヤーズの三角形問題
    18

    View Slide

  19. 無効❶
    5. 入力した項目が0の値を持つテストケース
    例[A=0,B=3,C=4 他1つが0の場合 3パターン]
    [A=0,B=0,C=1 他2つが0の場合 3パターン]
    6. 入力した項目が負の値を持つテストケース
    例[A=-1,B=3,C=4 他1つがマイナスの場合 3パターン]
    [A=-1,B=-1,C=1 他2つがマイナスの場合 3パターン]
    [A=-1,B=-1,C=-1]
    ワーク2(解答):マイヤーズの三角形問題
    19

    View Slide

  20. 無効❷
    7. 全ての項目が0を超える整数だが、2つの項目
    の和が残りの1つの項目と等しい [A+B=C] テス
    トケース
    例[A=1,B=2,C=3]
    8. 「7」の項目において、3種類の組み合わせ
    [A+B=C]を持つテストケース
    例[A=1,B=2,C=3][A=1,B=3,C=2][A=3,B=2,C=1]
    ワーク2(解答):マイヤーズの三角形問題
    20

    View Slide

  21. 無効❸
    9. 全ての項目が0を超える整数だが、2つの項目
    の和が残り1つの項目より小さい [A+Bトケース
    例[A=1,B=2,C=4]
    10.「9」の項目において、3種類の組み合わせ
    [A+B例[A=1,B=2,C=4],[A=1,B=4,C=2], [A=4,B=2,C=1]
    ワーク2(解答):マイヤーズの三角形問題
    21

    View Slide

  22. 無効❹
    11.全ての項目が0 [A=B=C=0]のテストケース
    例[A=0,B=0,C=0]
    12.半角数字の整数ではない値が入力されているテスト
    ケース
    例[小数点、制御コード、半角/全角スペース、
    半角/全角英大小文字、半角/全角カナ、
    全角数字、かな、漢字 等]
    13.入力されている値が3個に満たないテストケース
    例 [A=null,B=3,C=4 他1つが空欄の場合3パターン],
    [A=null,B=null,C=1 他2つが空欄の場合3パターン],
    [A=null,B=null,C=null]
    ワーク2(解答):マイヤーズの三角形問題
    22
    http://blog.livedoor.jp/hime78/archives/50980099.html

    View Slide

  23. 有効(表示)
    14.入力した値に対して期待される表示結果と実際
    の表示結果が合っているか
    ワーク2(解答):マイヤーズの三角形問題
    23
    http://blog.livedoor.jp/hime78/archives/50980099.html

    View Slide

  24. 簡単そうな問題でも、
    テストの抜け・漏れが発生する
    テストパターンはたくさんある
    ワークの目的 |マイヤーズの三角形問題
    24

    View Slide

  25. マイヤーズの三角形問題を勉強会でするよーっ
    て言ったら、思ってたより色々大変だというこ
    とを教えてもらって深かったときの話
    http://togetter.com/li/843768
    三角形問題で必要なテストケース数
    http://a-lifelong-tester.cocolog-
    nifty.com/blog/2011/06/post-caee.html
    三角形問題のテストの考え方いろいろ
    http://a-lifelong-tester.cocolog-
    nifty.com/blog/2011/06/post-790a.html
    余談|マイヤーズの三角形問題
    25

    View Slide

  26.  品質に関するおはなし
     QCDについて
     ワーク1:立ち位置からの観点導出
     品質モデルの話:狩野モデル
     ソフトウェア品質モデルのおはなし
     ソフトウェアテストのおはなし
     ワーク2:マイヤーズの三角形問題
     ソフトウェアテストのお勉強的なおはなし
    アジェンダ
    26

    View Slide

  27. ソフトウェアテストのお勉強的なおはなし
    テストの7原則
    テスト技法
    テストレベル
    テストタイプ
    テストの4象限
    テスト自動化のピラミッド
    ソフトウェアテストのお勉強的なおはなし |アジェンダ
    27

    View Slide

  28. 1. テストは欠陥があることは示せるが、欠陥がない
    ことは示せない
    2. 全数テストは不可能
    3. 早期テストで時間とコストを節約
    4. 欠陥の偏在
    5. 殺虫剤のパラドックスにご用心
    6. テストは条件次第
    7. 「バグゼロ」の落とし穴
    テストの7原則
    28

    View Slide

  29. テストをすることで
    「欠陥がない」と
    示すことはできない
    1.テストは欠陥があることは示せるが、欠陥がないことは示せない
    29

    View Slide

  30. 2.全数テストは不可能
    1×1 2通り
    2×2 12通り
    3×3 184通り
    4×4 8512通り
    5×5 126万2516通り
    6×6 5億7578万564通り
    『フカシギの数え方』 おねえさんといっしょ! みんなで数えてみよう!
    https://www.youtube.com/watch?v=Q4gTV4r0zRs
    30
    S
    G
    この4角形からスタートからゴールまで何通り
    遠回りしていいけど、同じところは2度通ったらだめ

    View Slide

  31. ソフトウェア開発
    システム開発
    のライフサイクルの
    なるべく早い時期に見つけようね☺
    3.早期テストで時間とコストを節約
    31

    View Slide

  32. 4.欠陥の偏在
    2:8の法則
    32

    View Slide

  33. 何回も同じことをやっても
    新しい欠陥は見つからなくなるよ
    5.殺虫剤のパラドックスにご用心
    33

    View Slide

  34. システムによって
    最重要視するテストは変わるよね
    6.テストは条件次第
    34

    View Slide

  35. バグが(限りなく)0に近い
    システムができても
    とても起動に時間がかかるような
    システムじゃだめよね
    7.「バグゼロ」の落とし穴
    35

    View Slide

  36. ソフトウェアテストのお勉強的なおはなし
    テストの7原則
    テスト技法
    テストレベル
    テストタイプ
    テストの4象限
    テスト自動化のピラミッド
    ソフトウェアテストのお勉強的なおはなし |アジェンダ
    36

    View Slide

  37. ◼ 仕様ベース/ブラックボックスのテスト技法
    構造ベース/ホワイトボックスのテスト技法
    経験ベースのテスト技法
    テスト技法
    37

    View Slide

  38. 同値分割法
    仲間分け
    境界値分析
    はじっこ
    デシジョンテーブルテスト
    規則表
    状態遷移テスト
    切り替え
    ユースケーステスト
    使用場面
    https://thinkit.co.jp/images/article/40/2/4021_zoom.gif
    仕様ベース/ブラックボックスのテスト技法 | テスト技法
    39

    View Slide

  39. りんごの販売価格
    ① 1個~4個:単価200円
    ② 5個~9個:単価170円
    ③ 10個以上:単価160円
    同値分割(仲間分け)・境界値分析(はじっこ)
    0 1 4 5 9 10
    単価200円 単価170円 単価160円
    『ソフトウェアテスト技法ドリル』秋山浩一著 40

    View Slide

  40. あるショップで購入者が教育従事者の場合、
    特定の商品が10%割引になる
    デシジョンテーブルテスト(規則表)
    41
    1 2 3
    条件 購入者は教育従事者 N Y Y
    購入商品は対象商品 - N Y
    動作 10%割引 N N Y
    ショップの割引判定

    View Slide

  41. 状態遷移テスト(切り替え)
    『ソフトウェアテスト技法ドリル』秋山浩一著 42
    動作中
    針は進む
    停止中
    内部も停止
    動作中
    針は停止
    初期状態
    スタートボタン
    スタート
    ボタン
    スタート
    ボタン
    ラップ
    ボタン
    ラップ
    ボタン
    ラップボタン
    終了状態
    ストップウォッチの状態遷移図

    View Slide

  42. ユースケーステスト(使用場面)
    https://thinkit.co.jp/images/article/40/2/4021_zoom.gif 43
    出張申請システム
    申請者
    承認者
    経理担当者
    出張申請を登録する
    出張申請を提出する
    出張申請を承認する
    出張申請を却下する
    出張申請を差し戻す
    出張申請を確認する
    ユースケース図の例

    View Slide

  43. ソフトウェアテストのお勉強的なおはなし
    テストの7原則
    テスト技法
    テストレベル
    テストタイプ
    テストの4象限
    テスト自動化のピラミッド
    ソフトウェアテストのお勉強的なおはなし |アジェンダ
    44

    View Slide

  44. テストレベル | テスト技法
    45

    View Slide

  45. ソフトウェアテストのお勉強的なおはなし
    テストの7原則
    テスト技法
    テストレベル
    テストタイプ
    テストの4象限
    ソフトウェアテストのお勉強的なおはなし |アジェンダ
    46

    View Slide

  46. 機能テスト
    「何をするのか」のテスト
    非機能テスト
    「どのように動作するのか」のテスト
    構造テスト
    「構造をどの程度網羅したか」のテスト
    再テスト、およびリグレッションテスト
    テスト済みのプログラムを何度もテスト
    テストタイプ | テスト技法
    47

    View Slide

  47. ソフトウェアテストのお勉強的なおはなし
    テストの7原則
    テスト技法
    テストレベル
    テストタイプ
    テストの4象限
    テスト自動化のピラミッド
    ソフトウェアテストのお勉強的なおはなし |アジェンダ
    48

    View Slide

  48. テストの4象限 | テスト技法
    49

    View Slide

  49. ソフトウェアテストのお勉強的なおはなし
    テストの7原則
    テスト技法
    テストレベル
    テストタイプ
    テストの4象限
    テスト自動化のピラミッド
    ソフトウェアテストのお勉強的なおはなし |アジェンダ
    50

    View Slide

  50. テスト自動化のピラミッド
    Martin Fowler : TestPyramid
    https://martinfowler.com/bliki/TestPyramid.html

    View Slide

  51. まとめ
    52

    View Slide

  52. ① 色んな立場からの視点でテストをする
    ② 簡単そうなプログラムでも、テストケースが沢
    山あるということ
    ③ QCD[品質(Quality)、価格(Cost)、
    納期(Delivery/Time)を意識する
    良いか悪いかだけでなく、
    提案やカイゼンもして品質を高めましょう
    まとめ
    53

    View Slide

  53. ◆ソフトウェア・テストの技法
    ◆JSTQB FoundationLebelシラバス
    ◆ソフトウェアテスト教科書JSTQB Foundation
    第3版
    ◆実践アジャイルテスト
    ◆ソフトウェアテスト293の法則
    ◆ソフトウェア品質知識体系ガイド 第2版 –
    SQuBOK Guide V2-
    ◆ソフトウェアテスト技法ドリル-テスト設計の
    考え方と実際
    参考文献など
    54

    View Slide