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

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

  3. © GrapeCity inc. 3 グレープシティ株式会社 創 立 1980 年 5

    月 資 本 金 9,000 万円 社 員 数 国内 270 名 / 海外 800 名 拠 点 国内 宮城(仙台本社) / 埼玉 / 大阪 / 北 海道 / 岩手 / 神奈川 / 福岡 海外 アメリカ / 中国 / 韓国 / インド ベトナム / マレーシア / ミャンマー
  4. © GrapeCity inc. 4 事業内容 ソフトウェア開発支援ツール ITシステムの 活用促進ソリューション 英語教育ソリューション 社会福祉施設向け

    業務支援システム 各種映像制作の トータルプランニング 学校法人向け業務システム
  5. © GrapeCity inc. 5 ソフトウェア開発支援ツール事業 l 高機能ライブラリの開発・販売 l 30年以上の実績 l

    世界4ヶ国を主要に展開中
  6. 本日のテーマ グレープシティの品質管理について

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

  8. © GrapeCity inc. 8 弊社製品 と 品質管理 の関係 SPREAD ライブラリ収録数

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

    あらゆる開発シーンに対応する 万能コンポーネントセット 300+ 一般的な手法による品質管理では...?
  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回のリリース
  11. © GrapeCity inc. • 健全性テスト Sanity Test • 退行テスト Regression

    Test • サンプルテスト Demo Sample Test • スモークテスト Smoke Test • 退行テスト Regression Test 11 開発フェイズ と テストプロセス 例 4 months リリース • テスト項目策定 Test Planning • 機能テスト Feature Test • 退行テスト Regression Test 機能実装期 コードフリーズ期 RC期
  12. © GrapeCity inc. 12 お話の概要 l 不具合をゼロに近づける取り組み l その根底にある考え方 l

    多数のテストを効率的に進めるための取り組み
  13. © GrapeCity inc. 13 目次 1 2 3 シナリオ至上主義 オートテスト

    と ジレンマ 育成カリキュラムでつくる「知ってる」QAチーム
  14. シナリオ至上主義

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

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

  17. © GrapeCity inc. 17 テストシナリオ と テストケース ブラックボックステスト技法の一つ。 ユースケースの動作を実行するようにテストケースを設計する。 ISTQB

    用語集 https:// glossary.istqb.org (参照 2022-6-25) 実行事前条件、入力値、アクション(適用可能な場合)、期待結果、 および実行事後条件のセットであり、テスト条件に基づいて開発さ れたもの。 ISTQB 用語集 https:// glossary.istqb.org (参照 2022-6-25) テストシナリオ Test Scenario テストケース Test Case
  18. © GrapeCity inc. 18 テストシナリオ と テストケース (つまり?) 機能要件やビジネス要件が 満たされているかどうかを確認するためのテスト項目。

    ユースケースをベースに考える (テストシナリオとの関係においては) 上記を「どのように実施するのか」という詳細なテスト項目 Break Down テストシナリオ Test Scenario テストケース Test Case
  19. © GrapeCity inc. l 荒れた道を走れるか l 雨風などに対する耐久性 l 朝晩の寒暖差による影響 l

    山岳トレイル 1泊2日 19 マウンテンバイクの例 テストシナリオ テストケース ------- 耐衝撃テスト ------- 耐候テスト ------- サーマルテスト Break Down Build Up
  20. © GrapeCity inc. l 万オーダーの顧客数 l 状況に応じた表示変更 l 入力とデータ更新 l

    業務システムUI (顧客データ管理) 20 グレープシティ FlexGrid の例 テストシナリオ テストケース ------- 大規模データ結合 ------- 高負荷時フィルタとソート ------- データ変更管理の整合性 Break Down
  21. オートテストとジレンマ

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

    Jenkinsを中心としたオートテスト環境を運用中
  23. © GrapeCity inc. 23 オートテスト概要 テストレポート QA チーム Jenkins テスト

    実行 テスト用 アセンブリ 自動テストスクリプト
  24. © GrapeCity inc. 24 オートテスト と ジレンマ 実際 理想 •

    ぜんぶ自動テスト • ボタン 1 発 • テスト完了! • 全てを自動にはできない • 自動化に向かないテストがある • 特定の条件下のみをテスト • 複雑な手順を1回だけテスト • スクリプトを組むより手動のほうが早い 全自動を目指すと遠ざかる効率化
  25. © GrapeCity inc. 25 3段体制で臨むQA QAリード テスト項目の作成 Manual テストチーム 手動テスト

    テスト項目を アサイン Automated テストチーム 自動テスト 自動テスト項目を アサイン
  26. © GrapeCity inc. 26 何を自動化するの ? l Priority 1 に

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

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

  29. © GrapeCity inc. 29 普通のテストと少し違うライブラリのテスト l UI操作を通した機能テスト l API の入出力は仕様通りか

    l ライブラリの挙動はベース言語の作法に沿っているか l 連動する技術(フレームワークなど)上で正常動作するか l プログラムして正常に組み込めるか
  30. © GrapeCity inc. 30 テスターに求められる能力(ライブラリベンダー編) IT スキル と 製品知識 全員詳しくないとテストができません

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

    テスト手法 の 3 つを育てるカリキュラム
  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 実践 業務システム開発
  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 開発プロセス / リリース周期の理解
  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 各テスト手法の違いと狙いについて
  35. © GrapeCity inc. 35 まとめ 1 2 3 実践的な「シナリオ」で質の高いテスト 手動

    x 自動の合わせ技で乗り越える大規模試験 育成カリキュラムでつくる「知ってる」QAチーム
  36. 最 後 ま で ご 聴 講 い た だ

    き あ り が と う ご ざ い ま し た 。