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 full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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







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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size 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 full-size 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 full-size 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 full-size 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 full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide