検索キーワード: 「ソフトウェアシステムの特性」


【ソフトウェアテスト】シナリオテスト

シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。

テスト(運用・保守・サポート)

【QA】テスト観点の出し方

システム開発における評価・検証は、避けることのできないバグや不具合を市場に流通する前に可能な限り取り除くことのできる重要な工程です。またテスト観点が明確なテストケースは実施者ごとの評価精度のブレを防ぎ、不具合の発見率を高めることができます。しかしこの工程を最大限活かすには"なぜそのテストをするのか”、”そのテストで何を確認したいのか”という観点を正確かつ明確に定めていなければなりません。テスト観点の洗い出しが不十分なまま重大な不具合を見逃してしまうことで機会損失や信用を失うなど、多くのリスクを生んでしまう恐れがあります。

初心者

C言語とC#・Objective-Cの違い

C言語は1972年にAT&Tベル研究所と呼ばれる場所で、ブライアン・カーニハンとデニス・リッチーが開発したプログラミング言語です。プログラミング言語の中では比較的歴史の長いものでありながら、現在でも現役で開発に利用されています。実際、「TIOBE Index for April 2021」と呼ばれるプログラミング言語の人気・利用状況ランキングを見ると、C言語は1位に君臨しています。2020年は2位でしたが、2021年には1位になっていますので今でも多くの需要があり注目されていると考えられます。また、C言語には資格も様々あり、需要に応えられるよう専門的に学ぶこともおすすめの言語です。C言語はコンパイルが必要なプログラミング言語です。コンパイルが必要なプログラミング言語は、処理速度が早い特徴があります。他のプログラミング言語よりも高速なアプリケーション開発が可能となり、その点が今でもC言語を活用する理由ともなっています。

製造・コーディング(PG/フロントエンド)

SwiftUIの基礎を学ぶ【iOS】

SwiftUIの基礎を学習中のため、UIパーツの加工であったり、UIKitとの連携であったり忘れてしまいそうなことを書き残しておきます。

製造・コーディング(PG/フロントエンド)

【ソフトウェアテスト】CFD法

CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。

テスト(運用・保守・サポート)

【ソフトウェアテスト】直交表/ペアワイズ法 ①

本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。

テスト(運用・保守・サポート)

【テストの種類】結合テスト

結合テストとは、システム開発におけるテスト手法の1つです。システム開発では、結合テストの他に単体、機能、システムテストなどがあり、開発工程によって実施するテストが異なります。結合テストは複数のプログラムやモジュールを同時に稼働して行う動作テストで、モジュール同士を結合した際に意図した通りに動作するかの検証を行います。結合テストは、事前にテスト仕様書を作成し、テスト項目を決めてからテストを行います。結合テストの項目は前段階の単体テストが全て完了していることが前提となります。結合テスト前に行う単体テストは、個々の機能やモジュールが単体で動作するかを検証するテストになります。単体テストで行ったテスト項目は結合テストでは殆ど行わないか、簡易的に確認することが一般的です。結合テストでは、ただ動作するかのテストを行うのではなく操作と機能動作の組み合わせが正しいか、仕様書通りに機能しているかについても検証します。単体テストによって個々で正しく動作することが確認された機能やモジュールを対象とし、機能間の連携や一連の機能が仕様書通りに正しく動作するのかを確認します。

初心者

テスト観点

テスト観点とは、特定の機能に対してどのようなテストを行うことが有効なのかを考えることを指します。テストケースを作成するうえで必要不可欠な要素であり、テストの精度を高めて効率的に作業するために必要とされています。具体的な例をあげると、次の太字個所がテスト観点と呼ばれる部分に該当します。 ・住所入力テキストボックス(対象)の入力可能桁数(何)を確認する ・次へボタン(対象)押下の遷移先(何)を確認する ・氏名テキストボックスに入力した内容が氏名欄(対象)に正しく表示(何)されることを確認する特定の機能に対して、どの部分をテストしなければならないのか、その方法は何がふさわしいかを考えるのがテスト観点です。テスト観点を明確にすることで、ソフトウェアテストにおける抜けや漏れを防止することができます。

初心者

テスト設計書の必要性、書き方

テスト設計とは、システム開発における以下の項目を決定します。 ・テスト工程でどのように実施するのか ・どういった工程で実施するのか ・どういったテストをするのか項目決定 ・テストを実施するにあたっての目的テスト設計書を作成せずにテスト工程まで進めることで不具合を発見できず利用者に大きな損害が発生してしまう可能性も・・!?

テスト(運用・保守・サポート)

【初心者用】SQLのクエリ操作基礎3

タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。操作方法について忘れていることが分からないことが多いので、基礎を学んでいきます。

その他(PG/バックエンド)

【初心者向け】情報セキュリティの基礎

IT業界で働くうえでかかせない、情報セキュリティについてまとめました。情報セキュリティの知識が不足していると、重大なセキュリティ事故を起こし、損害賠償などになりかねません。ぜひ気を引き締めて最後までお読みください!

その他(SE)

関連タグ

カテゴリ別人気記事

もっと見る
テレワーク関連人気記事

週間人気記事

もっと見る