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

300+のライブラリを定期リリースする品質管理のあれこれ/Developers Summit 2022 Summer

300+のライブラリを定期リリースする品質管理のあれこれ/Developers Summit 2022 Summer

2022年7月21日(木)に開催された翔泳社主催の「Developers Summit 2022 Summer(デブスト2022夏)」で発表した資料です。

「300+のライブラリを定期リリースする品質管理のあれこれ」
グレープシティ株式会社 ツール事業部
村上 功光

More Decks by グレープシティ 開発支援ツール

Other Decks in Programming

Transcript

  1. 300+のライブラリを定期リリースする
    品質管理のあれこれ
    グレープシティ株式会社
    ツール事業部 プロダクトマーケティングチーム
    村上 功光

    View Slide

  2. 弊社紹介
    グレープシティ株式会社について

    View Slide

  3. © GrapeCity inc. 3
    グレープシティ株式会社
    創 立 1980 年 5 月
    資 本 金 9,000 万円
    社 員 数 国内 270 名 / 海外 800 名
    拠 点
    国内 宮城(仙台本社) / 埼玉 / 大阪 / 北
    海道 / 岩手 / 神奈川 / 福岡
    海外
    アメリカ / 中国 / 韓国 / インド
    ベトナム / マレーシア /
    ミャンマー

    View Slide

  4. © GrapeCity inc. 4
    事業内容
    ソフトウェア開発支援ツール
    ITシステムの
    活用促進ソリューション
    英語教育ソリューション
    社会福祉施設向け
    業務支援システム
    各種映像制作の
    トータルプランニング
    学校法人向け業務システム

    View Slide

  5. © GrapeCity inc. 5
    ソフトウェア開発支援ツール事業
    l 高機能ライブラリの開発・販売
    l 30年以上の実績
    l 世界4ヶ国を主要に展開中

    View Slide

  6. 本日のテーマ
    グレープシティの品質管理について

    View Slide

  7. © GrapeCity inc. 7
    ライブラリにおける品質管理の重要性
    我々の不具合 → お客様の不具合

    View Slide

  8. © GrapeCity inc. 8
    弊社製品 と 品質管理 の関係
    SPREAD
    ライブラリ収録数
    馴染みある UI と機能を実現する
    スプレッドシートライブラリ
    1
    一般的な手法による品質管理が可能

    View Slide

  9. © GrapeCity inc. 9
    弊社製品 と 品質管理 の関係
    ComponentOne
    ライブラリ収録数
    あらゆる開発シーンに対応する
    万能コンポーネントセット
    300+
    一般的な手法による品質管理では...?

    View Slide

  10. © GrapeCity inc. 10
    リリースサイクル例 (ComponentOne)
    2021
    2 0 2 1 v 1
    4 月 2 8 日
    2 0 2 1 v 3
    12月15日
    2 0 2 1 v 2
    8 月 2 7 日
    4ヶ月に1回のリリース

    View Slide

  11. © GrapeCity inc.
    • 健全性テスト
    Sanity Test
    • 退行テスト
    Regression Test
    • サンプルテスト
    Demo Sample Test
    • スモークテスト
    Smoke Test
    • 退行テスト
    Regression Test
    11
    開発フェイズ と テストプロセス 例
    4 months
    リリース
    • テスト項目策定
    Test Planning
    • 機能テスト
    Feature Test
    • 退行テスト
    Regression Test
    機能実装期 コードフリーズ期 RC期

    View Slide

  12. © GrapeCity inc. 12
    お話の概要
    l 不具合をゼロに近づける取り組み
    l その根底にある考え方
    l 多数のテストを効率的に進めるための取り組み

    View Slide

  13. © GrapeCity inc. 13
    目次
    1
    2
    3
    シナリオ至上主義
    オートテスト と ジレンマ
    育成カリキュラムでつくる「知ってる」QAチーム

    View Slide

  14. シナリオ至上主義

    View Slide

  15. © GrapeCity inc. 15
    グレープシティが考えるテストの最重要項目
    シナリオ

    View Slide

  16. © GrapeCity inc. 16
    テスト項目策定時の大原則
    Preparing high-level test scenarios
    (高度なテストシナリオを用意する)

    View Slide

  17. © GrapeCity inc. 17
    テストシナリオ と テストケース
    ブラックボックステスト技法の一つ。
    ユースケースの動作を実行するようにテストケースを設計する。
    ISTQB 用語集 https:// glossary.istqb.org (参照 2022-6-25)
    実行事前条件、入力値、アクション(適用可能な場合)、期待結果、
    および実行事後条件のセットであり、テスト条件に基づいて開発さ
    れたもの。
    ISTQB 用語集 https:// glossary.istqb.org (参照 2022-6-25)
    テストシナリオ
    Test Scenario
    テストケース
    Test Case

    View Slide

  18. © GrapeCity inc. 18
    テストシナリオ と テストケース (つまり?)
    機能要件やビジネス要件が
    満たされているかどうかを確認するためのテスト項目。
    ユースケースをベースに考える
    (テストシナリオとの関係においては)
    上記を「どのように実施するのか」という詳細なテスト項目
    Break
    Down
    テストシナリオ
    Test Scenario
    テストケース
    Test Case

    View Slide

  19. © GrapeCity inc.
    l 荒れた道を走れるか
    l 雨風などに対する耐久性
    l 朝晩の寒暖差による影響
    l 山岳トレイル 1泊2日
    19
    マウンテンバイクの例
    テストシナリオ
    テストケース
    ------- 耐衝撃テスト
    ------- 耐候テスト
    ------- サーマルテスト
    Break
    Down
    Build
    Up

    View Slide

  20. © GrapeCity inc.
    l 万オーダーの顧客数
    l 状況に応じた表示変更
    l 入力とデータ更新
    l 業務システムUI (顧客データ管理)
    20
    グレープシティ FlexGrid の例
    テストシナリオ
    テストケース
    ------- 大規模データ結合
    ------- 高負荷時フィルタとソート
    ------- データ変更管理の整合性
    Break
    Down

    View Slide

  21. オートテストとジレンマ

    View Slide

  22. © GrapeCity inc. 22
    多機能収録製品のテストを支える鍵
    l 1ライブラリあたりのテスト項目数は10〜約1000
    l 300+の収録数を誇る製品のテストにオートテストは必須
    l Jenkinsを中心としたオートテスト環境を運用中

    View Slide

  23. © GrapeCity inc. 23
    オートテスト概要
    テストレポート
    QA チーム
    Jenkins
    テスト
    実行
    テスト用
    アセンブリ
    自動テストスクリプト

    View Slide

  24. © GrapeCity inc. 24
    オートテスト と ジレンマ
    実際
    理想
    • ぜんぶ自動テスト
    • ボタン 1 発
    • テスト完了!
    • 全てを自動にはできない
    • 自動化に向かないテストがある
    • 特定の条件下のみをテスト
    • 複雑な手順を1回だけテスト
    • スクリプトを組むより手動のほうが早い
    全自動を目指すと遠ざかる効率化

    View Slide

  25. © GrapeCity inc. 25
    3段体制で臨むQA
    QAリード
    テスト項目の作成
    Manual テストチーム
    手動テスト
    テスト項目を
    アサイン
    Automated テストチーム
    自動テスト
    自動テスト項目を
    アサイン

    View Slide

  26. © GrapeCity inc. 26
    何を自動化するの ?
    l Priority 1 に
    カテゴライズされるテストは
    できる限り自動化
    l 影響度の大きいテストを
    自動化して人的ミスを排除し
    確実に実施する
    プライオリティ テスト箇所の例
    1 製品の基幹部分
    2 製品の重要機能 (例えば主要API)
    3 製品の諸機能
    4 レアなユースケース試験
    不具合発生した場合における製品への影響指数

    View Slide

  27. 育成カリキュラムでつくる
    「知ってる」QAチーム

    View Slide

  28. © GrapeCity inc. 28
    テストあるある
    l 製品に詳しい人がいるとテストが進む
    l 不具合もみつかる

    View Slide

  29. © GrapeCity inc. 29
    普通のテストと少し違うライブラリのテスト
    l UI操作を通した機能テスト
    l API の入出力は仕様通りか
    l ライブラリの挙動はベース言語の作法に沿っているか
    l 連動する技術(フレームワークなど)上で正常動作するか
    l プログラムして正常に組み込めるか

    View Slide

  30. © GrapeCity inc. 30
    テスターに求められる能力(ライブラリベンダー編)
    IT スキル と 製品知識
    全員詳しくないとテストができません

    View Slide

  31. © GrapeCity inc. 31
    「知ってる」QAチームをつくる育成カリキュラム
    l プログラミング言語基礎
    l 製品
    l テスト手法
    の 3 つを育てるカリキュラム

    View Slide

  32. © GrapeCity inc.
    Technical Training (For WinForms Team)
    1. [Video] [Learn C# for Beginners]
    2. [Discussion] make a discussion with senior members
    3. [Assignment] [C# Basic Assignments.docx]
    4. [Video][Introduction to Windows Forms]
    5. [Discussion] make a discussion with with senior members
    6. [Assignment] Create Calculator and Notepad applications
    7. [Project] Develop small project Employee Management System
    8. [Self-Study] Windows Presentation Foundation technology
    9. [Discussion] make a discussion with senior members
    10. [Assignment] convert their Windows Forms project to WPF version.
    11. CodedUI automation training for WF controls.
    32
    テスター育成カリキュラム(技術編)
    l 言語基礎学習
    l 実践 アプリケーション開発
    l 実践 業務システム開発

    View Slide

  33. © GrapeCity inc.
    Understanding about ComponentOne
    1. [Discussion]
    Explain what is C1 and C1 Products
    2. [Discussion]
    Explain the assigned project
    (WinForms/Web/Xaml&Xamarin/Wijmo) its product samples,
    and documentation
    3. [Discussion]
    Explain about Releases per year
    33
    テスター育成カリキュラム(製品理解編)
    l 製品の存在意義 / コンセプトの理解
    l 製品機能の理解
    l 開発プロセス / リリース周期の理解

    View Slide

  34. © GrapeCity inc.
    Test Training
    1. Step 1 Reading Materials
    • [Video] [Foundations of Programming Software Quality Assurance]
    • [Video] [Functional Thinking]
    • [Text] [Software Testing Basic]
    • [Text] [Foundations of software testing - ISTQB Certification.pdf]
    • [Text] Test Case vs Test Scenarios
    2. Step 2: Discussion
    • Explain different type of testing
    • Black, White, Gray
    • Integrated, System, Functional, Performance, Usability
    • Explain what is Test Case, Test Point, Test Scenarios, Test Plan
    34
    テスター育成カリキュラム(テスト手法編)
    l テスト基礎学習
    l テスト深層理解
    l テストとはなにか / その手法について
    l 開発者のように製品を考えるメソッド
    l チーム内ディスカッション
    l 各テスト手法の違いと狙いについて

    View Slide

  35. © GrapeCity inc. 35
    まとめ
    1
    2
    3
    実践的な「シナリオ」で質の高いテスト
    手動 x 自動の合わせ技で乗り越える大規模試験
    育成カリキュラムでつくる「知ってる」QAチーム

    View Slide

  36. 最 後 ま で ご 聴 講 い た だ き
    あ り が と う ご ざ い ま し た 。

    View Slide