2022年7月21日(木)に開催された翔泳社主催の「Developers Summit 2022 Summer(デブスト2022夏)」で発表した資料です。
「300+のライブラリを定期リリースする品質管理のあれこれ」 グレープシティ株式会社 ツール事業部 村上 功光
300+のライブラリを定期リリースする品質管理のあれこれグレープシティ株式会社ツール事業部 プロダクトマーケティングチーム村上 功光
View Slide
弊社紹介グレープシティ株式会社について
© GrapeCity inc. 3グレープシティ株式会社創 立 1980 年 5 月資 本 金 9,000 万円社 員 数 国内 270 名 / 海外 800 名拠 点国内 宮城(仙台本社) / 埼玉 / 大阪 / 北海道 / 岩手 / 神奈川 / 福岡海外アメリカ / 中国 / 韓国 / インドベトナム / マレーシア /ミャンマー
© GrapeCity inc. 4事業内容ソフトウェア開発支援ツールITシステムの活用促進ソリューション英語教育ソリューション社会福祉施設向け業務支援システム各種映像制作のトータルプランニング学校法人向け業務システム
© GrapeCity inc. 5ソフトウェア開発支援ツール事業l 高機能ライブラリの開発・販売l 30年以上の実績l 世界4ヶ国を主要に展開中
本日のテーマグレープシティの品質管理について
© GrapeCity inc. 7ライブラリにおける品質管理の重要性我々の不具合 → お客様の不具合
© GrapeCity inc. 8弊社製品 と 品質管理 の関係SPREADライブラリ収録数馴染みある UI と機能を実現するスプレッドシートライブラリ1一般的な手法による品質管理が可能
© GrapeCity inc. 9弊社製品 と 品質管理 の関係ComponentOneライブラリ収録数あらゆる開発シーンに対応する万能コンポーネントセット300+一般的な手法による品質管理では...?
© GrapeCity inc. 10リリースサイクル例 (ComponentOne)20212 0 2 1 v 14 月 2 8 日2 0 2 1 v 312月15日2 0 2 1 v 28 月 2 7 日4ヶ月に1回のリリース
© GrapeCity inc.• 健全性テストSanity Test• 退行テストRegression Test• サンプルテストDemo Sample Test• スモークテストSmoke Test• 退行テストRegression Test11開発フェイズ と テストプロセス 例4 monthsリリース• テスト項目策定Test Planning• 機能テストFeature Test• 退行テストRegression Test機能実装期 コードフリーズ期 RC期
© GrapeCity inc. 12お話の概要l 不具合をゼロに近づける取り組みl その根底にある考え方l 多数のテストを効率的に進めるための取り組み
© GrapeCity inc. 13目次123シナリオ至上主義オートテスト と ジレンマ育成カリキュラムでつくる「知ってる」QAチーム
シナリオ至上主義
© GrapeCity inc. 15グレープシティが考えるテストの最重要項目シナリオ
© GrapeCity inc. 16テスト項目策定時の大原則Preparing high-level test scenarios(高度なテストシナリオを用意する)
© GrapeCity inc. 17テストシナリオ と テストケースブラックボックステスト技法の一つ。ユースケースの動作を実行するようにテストケースを設計する。ISTQB 用語集 https:// glossary.istqb.org (参照 2022-6-25)実行事前条件、入力値、アクション(適用可能な場合)、期待結果、および実行事後条件のセットであり、テスト条件に基づいて開発されたもの。ISTQB 用語集 https:// glossary.istqb.org (参照 2022-6-25)テストシナリオTest ScenarioテストケースTest Case
© GrapeCity inc. 18テストシナリオ と テストケース (つまり?)機能要件やビジネス要件が満たされているかどうかを確認するためのテスト項目。ユースケースをベースに考える(テストシナリオとの関係においては)上記を「どのように実施するのか」という詳細なテスト項目BreakDownテストシナリオTest ScenarioテストケースTest Case
© GrapeCity inc.l 荒れた道を走れるかl 雨風などに対する耐久性l 朝晩の寒暖差による影響l 山岳トレイル 1泊2日19マウンテンバイクの例テストシナリオテストケース------- 耐衝撃テスト------- 耐候テスト------- サーマルテストBreakDownBuildUp
© GrapeCity inc.l 万オーダーの顧客数l 状況に応じた表示変更l 入力とデータ更新l 業務システムUI (顧客データ管理)20グレープシティ FlexGrid の例テストシナリオテストケース------- 大規模データ結合------- 高負荷時フィルタとソート------- データ変更管理の整合性BreakDown
オートテストとジレンマ
© GrapeCity inc. 22多機能収録製品のテストを支える鍵l 1ライブラリあたりのテスト項目数は10〜約1000l 300+の収録数を誇る製品のテストにオートテストは必須l Jenkinsを中心としたオートテスト環境を運用中
© GrapeCity inc. 23オートテスト概要テストレポートQA チームJenkinsテスト実行テスト用アセンブリ自動テストスクリプト
© GrapeCity inc. 24オートテスト と ジレンマ実際理想• ぜんぶ自動テスト• ボタン 1 発• テスト完了!• 全てを自動にはできない• 自動化に向かないテストがある• 特定の条件下のみをテスト• 複雑な手順を1回だけテスト• スクリプトを組むより手動のほうが早い全自動を目指すと遠ざかる効率化
© GrapeCity inc. 253段体制で臨むQAQAリードテスト項目の作成Manual テストチーム手動テストテスト項目をアサインAutomated テストチーム自動テスト自動テスト項目をアサイン
© GrapeCity inc. 26何を自動化するの ?l Priority 1 にカテゴライズされるテストはできる限り自動化l 影響度の大きいテストを自動化して人的ミスを排除し確実に実施するプライオリティ テスト箇所の例1 製品の基幹部分2 製品の重要機能 (例えば主要API)3 製品の諸機能4 レアなユースケース試験不具合発生した場合における製品への影響指数
育成カリキュラムでつくる「知ってる」QAチーム
© GrapeCity inc. 28テストあるあるl 製品に詳しい人がいるとテストが進むl 不具合もみつかる
© GrapeCity inc. 29普通のテストと少し違うライブラリのテストl UI操作を通した機能テストl API の入出力は仕様通りかl ライブラリの挙動はベース言語の作法に沿っているかl 連動する技術(フレームワークなど)上で正常動作するかl プログラムして正常に組み込めるか
© GrapeCity inc. 30テスターに求められる能力(ライブラリベンダー編)IT スキル と 製品知識全員詳しくないとテストができません
© GrapeCity inc. 31「知ってる」QAチームをつくる育成カリキュラムl プログラミング言語基礎l 製品l テスト手法の 3 つを育てるカリキュラム
© GrapeCity inc.Technical Training (For WinForms Team)1. [Video] [Learn C# for Beginners]2. [Discussion] make a discussion with senior members3. [Assignment] [C# Basic Assignments.docx]4. [Video][Introduction to Windows Forms]5. [Discussion] make a discussion with with senior members6. [Assignment] Create Calculator and Notepad applications7. [Project] Develop small project Employee Management System8. [Self-Study] Windows Presentation Foundation technology9. [Discussion] make a discussion with senior members10. [Assignment] convert their Windows Forms project to WPF version.11. CodedUI automation training for WF controls.32テスター育成カリキュラム(技術編)l 言語基礎学習l 実践 アプリケーション開発l 実践 業務システム開発
© GrapeCity inc.Understanding about ComponentOne1. [Discussion]Explain what is C1 and C1 Products2. [Discussion]Explain the assigned project(WinForms/Web/Xaml&Xamarin/Wijmo) its product samples,and documentation3. [Discussion]Explain about Releases per year33テスター育成カリキュラム(製品理解編)l 製品の存在意義 / コンセプトの理解l 製品機能の理解l 開発プロセス / リリース周期の理解
© GrapeCity inc.Test Training1. 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 Scenarios2. 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 Plan34テスター育成カリキュラム(テスト手法編)l テスト基礎学習l テスト深層理解l テストとはなにか / その手法についてl 開発者のように製品を考えるメソッドl チーム内ディスカッションl 各テスト手法の違いと狙いについて
© GrapeCity inc. 35まとめ123実践的な「シナリオ」で質の高いテスト手動 x 自動の合わせ技で乗り越える大規模試験育成カリキュラムでつくる「知ってる」QAチーム
最 後 ま で ご 聴 講 い た だ きあ り が と う ご ざ い ま し た 。