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

Spring Bootcamp(新卒研修) 2022 QA研修 座学

honamin
September 14, 2022

Spring Bootcamp(新卒研修) 2022 QA研修 座学

Moneyforwardの新卒研修2022(エンジニア向け)で利用した資料です。

更新履歴
2022/9/15-------------
60Pバグフィルター
(修正前)
上段にいくほど網目が細かい=テストの数は多い
下段にいくほど網目が荒い=テストの数は少ない
(修正後)
上三段の層について、
 上段にいくほど網目が細かい=テストの数は多い
 下段にいくほど網目が荒い=テストの数は少ない
下三段の層について、
 その逆
参考文献に以下を追加
・A Practical Guide to Testing in DevOps Japanese Edition

ご指摘感謝です…!

honamin

September 14, 2022
Tweet

More Decks by honamin

Other Decks in Technology

Transcript

  1. • 美味しさ • 辛さ • 具の多さ • 米の銘柄 • トッピングの種類

    • 福神漬け有り/無し • 走りやすさ • ブレーキの効き • 耐久度/耐荷重 • デザイン性 • カスタマイズ性 • 電動サポート有り/ 無し • 機能の充実 • 使いやすさ • サポートの手厚さ • 導入のしやすさ • 障害の少なさ • 時間効率化 ちょっと待った!!! 何か疑問に感じませんか? QAを知る
  2. • 美味しさ • 辛さ • 具の多さ • 米の銘柄 • トッピングの種類

    • 福神漬け有り/無し • 走りやすさ • ブレーキの効き • 耐久度/耐荷重 • デザイン性 • カスタマイズ性 • 電動サポート有り/ 無し • 機能の充実 • 使いやすさ • サポートの手厚さ • 導入のしやすさ • 障害の少なさ • 時間効率化 主観的で、指標として曖昧では? ユーザーはどこに消えた? QAを知る
  3. QA今昔 デミング博士 ※画像はイメージです 第二次世界大戦敗戦後、通信状況改善のため、アメリカ軍が 品質管理技術者を招致。これが日本における品質管理の始ま りといわれている。 アメリカのデミング博士が来日。統計的品質管理 (SQC:Statistical Quality Control)の講演を行い、管理

    サイクルPDCAの概念を強調。 日本的全社的品質管理(TQC:Total Quality Control)の 発展。 第二次石油危機による問題に対し、経営層から現場、組織で の問題解決の観点から、TQCが加速。方針管理の重要性が 高まった。 1946年 1950年代 1960年代 1970年代 日本製品の品質を よくしたいなぁ・・・
  4. 1950~1960年代 EDSAC(Electronic Delay Storage Automatic Calculator) System/360 開発手法 • スーパーエンジニア(とにかくすご

    い人)が1万行のAppを2日で書く • うまくいかなかったら初めから書き 直すの繰り返し • 完全属人化
  5. プログラム品質の見える化 1950~1960年代 1968年 • Rubey & Hartwickがプログラムの 品質と評価方法に関する最初の論文 を発表 •

    プログラムコードの「属性」と「メ トリクス」を定義 ※参照 導入部 ソフトウェア品質に対するアプローチはブ ラックボックスなのが一般的だが、ユーザー は製品の品質を知りたい、目で見たいと思っ ている。宇宙航空機器は高精度な機能、か つ、あらゆる変更に対応しなければならな い。これは他ソフトウェア分野にも適用でき るのではないだろうか。
  6. 1970~1980年代 Apple I IBM PC PC用OSの普及 開発手法 ウォーターフォールモデルの登場 【メリット】 各工程が分かれていることにより、進捗管理や見積もりがし

    やすい。段階的に開発が進められる。 【デメリット】 後工程で仕様変更があった際、多大なコストがかかる。後工 程で大きな問題が出てくる可能性が高い。(謎)
  7. 品質モデルの体系化 1970~1980年代 1973年 Boehmらの品質モデル • 品質を評価するための観点を初めて 階層化して表現 1977年 McCallらの品質モデル •

    過去の論文で提案された品質要因を 集約、整理して体系化 • 品質をファクタ、クライテリア、お よびメトリクスの三階層構造で表現
  8. UIテストの自動化 1990~2000年代 2004年 Selenium の登場 • アプリケーションのUIや、 JavaScriptのテストを自動化する 目的で開発された •

    キャプチャリプレイ機能を搭載 し、コーディングの知識がなくて も自動テストを作成することが可 能 自動化が進んだ理由 開発手法のブラッシュアップに伴い、工程の 最後に配置されるテストがボトルネックにな る事例が多くなってきた。 人的コスト削減、開発フローのさらなる効率 化を求めて自動テストの導入が進んだ。 開発終わってる のにテスト長く ね?
  9. 品質モデルの標準化 1990~2000年代 1991年 • 国際標準(ISO)として出版 • 「外部および内部品質」「利用時 の品質」の二つのモデルを規定 ISO標準の目的 •

    安全で信頼性が高く、質の高い製品や サービスの創出 • 不良品の生産防止、生産性の向上 • 異なる市場の製品を直接比較可能に。企 業の新市場への参入容易度を高め、公正 な基準による世界貿易の発展を支援 • 製品・消費者・エンドユーザーを保護 し、認定製品が国際的に設定された最低 限の基準に適合していることを保証
  10. 開発手法 → 仕組み化 → DevOps with Agile DevOpsの思想 ・開発チームと運用チーム で分かれていた作業を統合  → 作業分担によるサイロ 化を防ぐ

    ・ツールを使った自動化 (CI/CDの普及)  → システムの信頼性の 向上、トイルの解消 2010年〜イマ!!
  11. 閑話休題 ソフトウェア開発の難しさ フレデリック・ ブルックス氏 2 プログラムは、規模が大きい   1人乗りのボートは簡単に作れても、1000人乗りの船は難しい。   3 プログラムは、簡単に変更できる     形のある製品の開発では、後で変更ができない。       ソフトウェアは変更が容易で物質的コストもかからない。 1 ソフトウェアは、目に見えない

      手で触れない、大きさ、重さもない。よって全体像を簡単に把握できない。    開発の難しさも実感できない。   4 制約となるものが少なく、自由に作れる     重力、磁力、電流などの法則に束縛されないため、       動くソフトウェア=正解となる。(芸術の世界)
  12. 閑話休題 DevOpsバグフィルター • 最上段の・はBugの卵 • Unit(単体テスト)・Integration(結合テ スト)・End to End(E2Eテスト)Alerting (アラート)・Monitoring(モニタリング)

    ・Logging(ログ)の層をもつ • 上三段の層について、 ◦ 上段にいくほど網目が細かい=テスト の数は多い ◦ 下段にいくほど網目が荒い=テストの 数は少ない • 下三段の層について、 ◦ その逆 • Bugは時間経過と共に育つ