Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

© 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回のリリース

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

シナリオ至上主義

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

オートテストとジレンマ

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

© 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 実践 業務システム開発

Slide 33

Slide 33 text

© 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 開発プロセス / リリース周期の理解

Slide 34

Slide 34 text

© 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 各テスト手法の違いと狙いについて

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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