品質について改めて整理②

品質を高めるために行うことは


予防 

検知


1.まずいかにして不具合を入れないようにするかを考え(標準化)

2.次に不具合を入れないための対策がちゃんと機能しているかチェックしながら(レビュー)

3.成果物が出来たら本番稼動前までに不具合を可能な限り見つけては解消し(テスト)

4.本番稼動後はシステムが問題なく動いているかのチェックを日々行う(監視)



以下それぞれについて簡単にまとめ



1.

標準化の目的は成果物に作業した人による個人差が出ないようにすることで、作業の進め方(手順書の作成やツールの導入)や成果物(ドキュメントやソース)の中身についてルールを設ける。



2.

レビューの確認内容は検証(前工程と現工程の成果物の整合性)と妥当性の確認(ユーザの要求通りかの確認)で、目的はユーザの承認を得ることと不具合をいち早く検出することで手法は様々である。

特に会議体の場合、何のためのレビューかをはっきりさせないと、参加者の時間を無駄に奪うだけなので、何のためのレビューかをまずはっきりさせてから行う


アドホックレビュー

目の前の課題について周りのメンバーと非公式に相談する


ペアプログラミング

厳密にはアジャイルの開発手法だが、2人で1つのプログラムに取り組むことで、レビューで得られるような効果が得られる。技術や知識に差がある2人で行うなど


ピアデスクチェック

成果物の作成者とレビュアーの2人で完結する


ピアレビュー

解釈や定義は様々あるが、同じ得意分野の同僚によるレビューの意味で使われることが多い


パスアラウンド

成果物を回覧して多人数でレビュー。会議を設定して集まるより、各々のレビュアーが各自内容チェックすることが多い


チームレビュー

作業のキリの良いところで集まり、情報共有などを目的に行う。内容は教育や欠陥の発見など目的に応じて臨機応変に決める


ウォークスルー

成果物を作成した人が会議に参加した人に説明をして意見を求めたり、問題点をあげ、解決策を出してもらったりする


インスペクション

会議体で作成者、進行役、記録係、レビュー役を決め、各立場の参加者が集まり、成果物が標準化されているか?顧客の要望を満たしているか?前工程の成果物と矛盾がないか?などを正式に確認する



3.

テストの目的は欠陥の発見!手法はテストケースの作成方法、テストの実施方法それぞれで数多く存在する。


同値分割法

仕様から同じフローで同じ結果となる入力をリストアップして、出力を確認。正常系と異常系それぞれ考える


境界値分割法

同値分割法で分けた入力出力から結果が変わる境界となる値の上下のケースでテストを行う


異常値特異値分割法

仕様の点から特別なフロー対応が必要なケースのテストを行う


制御フローカバレッジ

主にツールを使って各フローを通る確認


データオブジェクトカバレッジ

プログラム中のオブジェクトの各状態(初期,参照中,削除後など)で正しい動作する確認


論理組み合わせテスト

複数入力パターンの組み合わせを考えてテスト。デシジョンテーブルなどを利用


状態遷移系テスト

有効な状態遷移、異常な状態遷移が正しく行われる確認。状態遷移図などを利用


その他

タイミングテスト

並行処理テスト

非機能要件のテスト

サンプリングテスト

探針テスト

統計的テスト

経験によるランダムテスト


尻切れトンボになってしまったが以上。


4.

監視は日々の業務が正しく行われていることを保守担当者がチェックシートなどにより確認したりと異常時に関係者にアラートが飛ぶように事前に設定しておく両面から確認


参考サイト

https://www.ipa.go.jp/files/000005144.pdf