【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ユースケーステスト
ユースケース(use case)テストとは、システム開発要件や機能仕様などのテスト対象に対して利用者サイドから想定しうるテスト対象の使用状況や相互の作用をユースケースとしてシナリオを想定することで、対象の利用に際して問題がないかを主軸にしてテストを行う手法です。シナリオを想定してテストを行うため、シナリオテストと混同されやすいですが、シナリオテストと比較してテスト対象や目的やテストの粒度など違う部分があるので、ユースケーステストとシナリオテストはそれぞれ別の手法として、実施するテストケースに応じて使い分けが必要です。シナリオテストは主に特定の機能や操作の流れを一連のシナリオとしてテストするもので、対象となる仕様や要件のみならず、ストーリーとして関連が想定される動作や異常系処理などもテストスコープに含むため、ユーザーサイドの視点で対象に対して詳細なテストを実施しますが、ユースケーステストは、あくまで対象となる仕様や要件から想定されうるユーザーストーリーをテスト対象とする前提で、シナリオテストよりもテストスコープは狭くなると想定されます。また、記事内にて後述しますが、ユースケース図を用いていることもユースケーステストの特徴であり、シナリオを順序立てる記述形式はシナリオテストもユースケーステストも同様ですが、テストケースの整理や共有の方法によってテストケース自体をレビューできるため、静的テストのアプローチがしやすいテスト技法です。
テスト(運用・保守・サポート)
【QA】テストケースの書き方
システム開発における評価・検証では評価する為の状態や手順、そして確認するべき期待結果等の情報をまとめたテストケースを事前に作成することになります。しかしテストケースの書き方が不十分であると他の実施者がそれを見た時はもちろん、テストケースを作成した本人でもいざ評価をする際にテストケースに書かれた情報を正しく読み取ることが出来ない可能性があります。良質なテストケースは"誰が実施しても同じ期待値を得られる"ということです。本稿ではそのために意識するべきことをまとめていきます。
【ソフトウェアテスト】シナリオテスト
シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。
テスト(運用・保守・サポート)
【QA】不具合を発見した時
ソフトウェアやその機能についてテストを行った場合、何かしらの不具合を発見することがあります。実施者は発見した不具合が市場への流出するのを防ぐ最初の防衛ラインとなります。では実際に不具合を発見した場合、実施者はどう不具合報告をすればよいか。※開発チーム所属するQA担当であることを想定した内容となります。プロジェクトによって不具合を報告する際のルールは様々なため、この限りではないことを留意してください。
【JSTQB(FL)対策】第3章静的テスト
こちらの記事ではJSTQBのシラバスのうち、第3章静的テスト分野における以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
テスト(運用・保守・サポート)
【初心者向け】CCNA基礎 9章
こちらでは、CCNAの資格取得へ向けた情報を記載いたします。
【PLM】業務効率化に必要とされるPLMについて まとめ
業務でPLMのシステムに関わることになったものの、一切経験のない状態でしたので、業務に入る前に頭に入れておきたいPLMについての知識をまとめてみようかと思います。
【初心者用】AWS基礎⑦
前回はクラウドプラクティショナーの出題範囲のうちのAWSの主要サービスの識別までを学習してきました。今回はAWSの主要サービスの識別のところについて、さらに学習していきたいと思います。
その他(インフラ)
【初心者向け】情報セキュリティーについて
情報セキュリティーについて聞いたことがあると思いますが、本記事で改めて学んでいきたいと思います。
【初心者用】システム開発に用いられる設計書について
今回はシステム開発の現場で求められる、設計書の種類などについて解説していこうと思います。 設計書が読めるようになると、市場価値が上がるため高単価の案件に参画することも可能となります。 また、開発サイドではなくマネジメントサイドの仕事も行うことが可能となります。
【初心者用】JavaとJavaScriptの違いは?Javascriptで出来ることは?
JavaScript(ジャバスクリプト)は、プログラミング言語の一種です。 名前は聞いたことがあっても「実際に、どういうことに使われているのか?」「JavaScriptは何のジャンルが得意で、どういったことが実現できるのか?」ということまでは、あまり知られていないのではないでしょうか? 初心者の方で特に多いのが「Javaが得意な人は、JavaScriptも得意」という誤った認識です。 良く混同されがちですが、JavaとJavaScriptとはまったくの別物です。 では、具体的にどのような違いがあるのでしょうか? JavaScriptの詳しい説明も交えながら、JavaとJavaScriptの違いについてまとめてみました。
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
-
2023年10月02日
製造・コーディング(PG/フロントエンド) -
2023年07月18日
-
2023年10月26日
テスト(運用・保守・サポート) -
2023年01月09日
詳細設計(内部設計)(インフラ) -
2023年11月17日
週間人気記事
もっと見る【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
【初心者向け】CCNA基礎 11章
こちらでは、CCNAの資格取得へ向けた情報を記載いたします。
【IT転職】Androidエンジニアって何?必要なスキルや資格を解説します!!
世界中で使用者が増え続けるスマホOSの一つであるAndroidですが、その成長の背景にはAndroid端末を専門にアプリケーション開発をするAndroidエンジニアの存在があります。将来性が高いと噂されるAndroidエンジニアですが、その実態はどうなのでしょうか。今回は、Androidエンジニアとは何か、将来性はあるのか、そしてAndroidエンジニアになるために必要なスキルや資格を紹介します。ぜひ最後までご覧くださいね。この記事を読むのにおすすめな人この記事は以下のような人におすすめです。・Androidエンジニアになりたいと考えている人・Androidエンジニアになるにあたって必要なスキルや資格を知りたい人・インフラエンジニアなどの他職種からAndroidエンジニアへに転職を考えている人
【初心者用】SWCについて
Reactの開発関連の勉強などをしていく中で、SWCなどを適用するかどうかなどの文言が出てきました。導入すると開発でメリットがあるようなのですが、どんなことができるのか理解していないため勉強のためにまとめます。
その他(PG/フロントエンド)
【初心者用】ProCとは
今度の案件でデータベースの操作関係で、Pro*Cを使用することになりそうなので今回学んでみようと思います。
【JSTQB(FL)対策】第5章テストマネジメント<5.1テスト組織~5.2テスト計画作業と見積り
こちらの記事ではJSTQBのシラバスのうち、第5章テストマネジメント分野<5.1テスト組織~5.2テスト計画作業と見積り>における以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
テスト(運用・保守・サポート)
テスト計画書とは?作成する理由や記載必須の内容について教えます!
開発プロセスにおけるテストとは、そのソフトウェアの品質を決める重要なファクターとなっております。テストを正しく実施することはそのまま品質を上げることになります。テストとはいっても、ただやるだけではなく、事前に計画を立てて無理のないスケジューリングを行った上で実施する必要があります。そこで今回はテストにおけるテスト計画書の作成方法やテスト設計所との違い、なぜ必要であるかをご説明いたします。
【初心者用】JavaScriptについて少しかじってまとめてみた
タイトル通り、JavaScriptについて勉強してみて、得た知識を軽くまとめていこうと思います。 初心者用、とある通り、極力専門用語は使わないか、噛み砕いて説明していきます。
#09 社員インタビュー【育児もキャリアも、どちらも大切にしたい。フロントエンドエンジニアとして働く、私のリアルな毎日】
こんにちは!今回は、ラーニンギフトで活躍中のフロントエンドエンジニアにインタビュー🎤育児と仕事を両立しながら、自分らしいキャリアを歩んでいる社員のリアルな声をお届けします!「エンジニアとして成長したい」「でも、子どもとの時間も諦めたくない」そんな想いを持っている方に、ぜひ読んでほしい内容です😊
