【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【初心者向け】Packet Tracerでネットワークを学ぶ(STP)
STP(Spanning Tree Protocol)はブロードキャストストームを防止するためにポートの通信を行わない状態に遷移させるプロトコルです。 ブロードキャストストームとはスイッチがループになったネットワークでずっとブロードキャスト通信であるARP要求を送り続ける状態のことをいいます。
詳細設計(内部設計)(インフラ)
Ndde.jsの構文まとめ|中級者向け
Node.jsは、JavaScriptの実行環境として、Webアプリケーションの開発に欠かせない存在となっています。今回は、Node.jsの構文についてまとめてみました。Node.jsの基礎を既に知っている人向けの内容になっています。
Flutterを使ってみよう その8(レイアウト方法②)
前回の続きで他のレイアウトについて、触れていきたいと思います。環境 ・MacOS Ventura 13.6.3 ・Xcode 15.1 ・VSCode 1.85.1 ・Flutter 3.16.5 ・Dart 3.2.3
製造・コーディング(PG/フロントエンド)
イチから学ぶデータベース・SQL(11)
イチから学ぶデータベース・SQL(10)では、CASE式について学習していきました。 今回も、これまでと同様paizaラーニングを参考に、オンラインRPGを題材としてSQLについて学習していきます。
製造・コーディング(インフラ)
【初心者用】CCNA学習#2OSI参照モデル
本日は、OSI参照モデルと、物理層について簡単にまとめていきたいと思います。上記の内容も、非常に大切な内容になりますので、しっかりと把握していきましょう。
その他(インフラ)
【入門編】AWSとは何か?人気の理由まで解説
ITの業務に従事されている方や、インターネットやSNS等でIT関連の情報を収集されている方なら一度は聞いたことのある言葉の一つが、「AWS」ではないでしょうか? AWSとはアマゾンが提供するクラウドプラットフォームであり、正式名称はAmazon Web Service(アマゾンウェブサービス)です。 本記事では、AWSを使うと何ができるのか?なぜそんなに人気なのか?など、初心者の方が疑問に持つであろう部分を網羅的にまとめた記事となっております。 この記事を読むことで分かること ・AWSとは何かが理解できる ・AWSが人気な理由が分かる
【初心者用】Pythonが何なのかメリット・デメリットの面からまとめてみた
エンジニアとしてのキャリアが短く、データベース・SQLについて疎い自分がデータベースとSQLについて基本から学びながら、データベースとは何か、SQLとは何かを分かりやすいように説明していきます。
製造・コーディング(インフラ)
【ソフトウェアテスト】デシジョンテーブルテスト
さまざまな入力値が想定されており、それぞれの入力値を統合した結果として複数の状態を返すようなシステム仕様に対しては、デシジョンテーブルテスト技法を用いることで、複雑な条件を整理することができます。サービス利用時に新規アカウントを作成するような場面で、ユーザー情報を入力して登録する機能を想定した場合、[名前(ローマ字)][よみがな][任意のパスワード][パスワード確認入力][年齢][住所]などを入力し、それらの入力値が全て正常であれば登録処理を進めて、入力値のうち1つでも正常ではない値が入力されている場合は、エラーメッセージを表示して再度入力を促すようなシステムがあります。対象のステータスによって期間限定のサービス適用有無を判定するようなシステムでも、サービス対象となるかどうかを複数条件から判定するような仕様が想定されます。5年以上サービスを利用していて、アカウントの利用者ランクがゴールド以上の場合、商品購入時の金額から5%をサービス固有ポイントとして還元するというイベントを、n年n月n日~n年n月n日まで開催するといった追加開発システムのテストをする際に、デシジョンテーブルによってテスト対象を適切に抽出できます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
-
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 社員インタビュー【育児もキャリアも、どちらも大切にしたい。フロントエンドエンジニアとして働く、私のリアルな毎日】
こんにちは!今回は、ラーニンギフトで活躍中のフロントエンドエンジニアにインタビュー🎤育児と仕事を両立しながら、自分らしいキャリアを歩んでいる社員のリアルな声をお届けします!「エンジニアとして成長したい」「でも、子どもとの時間も諦めたくない」そんな想いを持っている方に、ぜひ読んでほしい内容です😊
