【ソフトウェアテスト】デシジョンテーブルテスト
さまざまな入力値が想定されており、それぞれの入力値を統合した結果として複数の状態を返すようなシステム仕様に対しては、デシジョンテーブルテスト技法を用いることで、複雑な条件を整理することができます。サービス利用時に新規アカウントを作成するような場面で、ユーザー情報を入力して登録する機能を想定した場合、[名前(ローマ字)][よみがな][任意のパスワード][パスワード確認入力][年齢][住所]などを入力し、それらの入力値が全て正常であれば登録処理を進めて、入力値のうち1つでも正常ではない値が入力されている場合は、エラーメッセージを表示して再度入力を促すようなシステムがあります。対象のステータスによって期間限定のサービス適用有無を判定するようなシステムでも、サービス対象となるかどうかを複数条件から判定するような仕様が想定されます。5年以上サービスを利用していて、アカウントの利用者ランクがゴールド以上の場合、商品購入時の金額から5%をサービス固有ポイントとして還元するというイベントを、n年n月n日~n年n月n日まで開催するといった追加開発システムのテストをする際に、デシジョンテーブルによってテスト対象を適切に抽出できます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ユースケーステスト
ユースケース(use case)テストとは、システム開発要件や機能仕様などのテスト対象に対して利用者サイドから想定しうるテスト対象の使用状況や相互の作用をユースケースとしてシナリオを想定することで、対象の利用に際して問題がないかを主軸にしてテストを行う手法です。シナリオを想定してテストを行うため、シナリオテストと混同されやすいですが、シナリオテストと比較してテスト対象や目的やテストの粒度など違う部分があるので、ユースケーステストとシナリオテストはそれぞれ別の手法として、実施するテストケースに応じて使い分けが必要です。シナリオテストは主に特定の機能や操作の流れを一連のシナリオとしてテストするもので、対象となる仕様や要件のみならず、ストーリーとして関連が想定される動作や異常系処理などもテストスコープに含むため、ユーザーサイドの視点で対象に対して詳細なテストを実施しますが、ユースケーステストは、あくまで対象となる仕様や要件から想定されうるユーザーストーリーをテスト対象とする前提で、シナリオテストよりもテストスコープは狭くなると想定されます。また、記事内にて後述しますが、ユースケース図を用いていることもユースケーステストの特徴であり、シナリオを順序立てる記述形式はシナリオテストもユースケーステストも同様ですが、テストケースの整理や共有の方法によってテストケース自体をレビューできるため、静的テストのアプローチがしやすいテスト技法です。
テスト(運用・保守・サポート)
データ分析に使用されるR言語の基礎構文をまとめてみた
R言語は、統計解析やデータ分析に特化したプログラミング言語であり、初心者でも比較的簡単に学ぶことができます。今回はR言語の初心者向けにR言語の基礎を紹介しようと思います。
エンジニアの開発工程一覧 | 各工程の仕事内容と必要スキルを解説
ソフトウェアやシステム開発における工程とは、開発プロジェクトを段階的に進めるための一連のプロセスです。開発工程を理解することは、開発プロジェクトの全体像や目的を把握するための重要な知識となります。しかし、各工程において、エンジニアはどのような仕事を行い、どのようなスキルを必要とするのでしょうか?この記事では、開発工程それぞれの仕事内容と必要なスキルについて解説します。
【初心者用】SQLのテーブル取得について色々操作をしてみた
SQLには色々なテーブル取得の方法がある。 今回は、実際の現場で使用されることが想定されるSQLのデータ取得について操作をしながら学んでいく。 参考サイト 指定した値の範囲と比較する(BETWEEN演算子) https://style.potepan.com/articles/27029.html SQL BETWEEN演算子の構文と使い方 データを範囲指定して抽出する https://tech.pjin.jp/blog/2020/12/28/%E3%80%90sql%E5%85%A5%E9%96%80%E3%80%91in%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%AB%E3%82%88%E3%82%8B%E6%9D%A1%E4%BB%B6%E6%8C%87%E5%AE%9A/ SQL基礎 IN演算子に夜条件指定 https://tech.pjin.jp/blog/2020/12/25/%E3%80%90sql%E5%85%A5%E9%96%80%E3%80%91like%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%AB%E3%82%88%E3%82%8B%E6%9D%A1%E4%BB%B6%E6%8C%87%E5%AE%9A/ SQL基礎 LIKE演算子による条件指定 https://www.sejuku.net/blog/72923 SQL GROUP BYで自在に集計! 集計関数やHAVINGと合わせて使おう https://www.sejuku.net/blog/72918 SQLで並び替え! ORDER BYを基礎から応用まで学ぼう https://www.sejuku.net/blog/54990 SQL入門 DISTINCTで重複行をまとめる方法
【初心者用】SQLの書き方・用途などまとめ
SQLはデータベースを操作するための言語です。SQLを使うことでデータベースにデータを挿入したり、検索したりといった操作を効率的に行うことが可能です。本記事ではSQLの基礎構文、用途、サンプルコードをまとめていきます。なお、説明の便宜上、以下の表のデータを使用します。
【Python】条件分岐と繰り返し処理
今回は、Pythonの条件分岐と繰り返し処理についてまとめました。Pythonでプログラミングを行う際にかかせない知識となっています。ぜひ最後までお読みください!概要・if文・else, elif・and・or・not・while文・for文
テスト計画書とは?作成する理由や記載必須の内容について教えます!
開発プロセスにおけるテストとは、そのソフトウェアの品質を決める重要なファクターとなっております。テストを正しく実施することはそのまま品質を上げることになります。テストとはいっても、ただやるだけではなく、事前に計画を立てて無理のないスケジューリングを行った上で実施する必要があります。そこで今回はテストにおけるテスト計画書の作成方法やテスト設計所との違い、なぜ必要であるかをご説明いたします。
テスト設計書の必要性、書き方
テスト設計とは、システム開発における以下の項目を決定します。 ・テスト工程でどのように実施するのか ・どういった工程で実施するのか ・どういったテストをするのか項目決定 ・テストを実施するにあたっての目的テスト設計書を作成せずにテスト工程まで進めることで不具合を発見できず利用者に大きな損害が発生してしまう可能性も・・!?
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
AADとAADCについて
Azure Active Directory(以下Azure AD)とは、Microsoftが提供するクラウドベースで「認証」と「許可」を一元管理するサービスです。Azure ADで認証を行えば、連携しているシステムにログインなしでアクセスできるようになります。Azureアカウントで、他のクラウドサービスが利用できます。例:Dropbox、Slackなど
その他(インフラ)
DBの基礎と、Microsoft Accessについて
皆さんは”Access”(アクセス)という言葉を聞いたことがありますか? Accessとは、Microsoft社が運営するツールで、主にデータ抽出、集計処理や、業務システムの開発環境や動作環境として使われております。 企業向けというよりかは個人向けのデータベースソフトですが、多機能であり、データベース以外にも、外部のデータベースを参照してデータ抽出やデータ集計をするためのBI(ビジネスインテリジェンス)ツールとしてや、帳票作成機能を活用した業務システムの開発環境、動作環境としても利用されるシーンが多いのが特徴です。 また、AccessにはVBAが標準搭載されているため、プログラミングを行うことも可能です。 プログラミングを行うことで、上記の活用方法をより高度に、より便利に実装することができます。 ただ、機能が多すぎるため、新しくAccessの使い方を習得しようとする場合は、覚えることが多い分、それだけ学習コストが高めとなっております。 今回の記事では、そんなAccessの機能と一般的なデータベース知識の紹介を併せて行っていこうと思います。
【初心者用】AWS基礎⑥
前回はクラウドプラクティショナーの出題範囲のうちのAWSの主要サービスの識別分野のところを学習してきました。EC2、EBS、AMI、ELB、Lambda、Auto Scaling、S3、EFS・Storage Gateway・Snowball、VPC、Route53そのうちのS3まで、学んできました。今回はAWSの主要サービスの識別のEFSから学習していきたいと思います。●これから学習していく分野テクノロジー ・AWSの主要サービスの識別 ・テクノロジーサポートのリソースを特定請求と料金 ・AWSの様々な料金モデルの比較対照 ・AWS請求と料金に関連した多様なアカウント構造の認識 ・請求サポートに利用できるリソースの特定
その他(インフラ)
【初心者用】CakePHPを学んでいこう①(基礎知識)
そもそも、PHPとは? Cake「PHP」とあるように、そもそもPHPとは何かをまずは確認していきましょう。 PHPは、1995年に登場したWebページやWebアプリケーションを作成する際に使用するプログラム言語です。 静的なWebページを表示するHTMLとは違い、ユーザがアクセスしたタイミングによってページ内容が変化する、動的なWebページを開発することができます。 PHPを使用して作成された有名なWebサービスに、WikipediaやFacebook、ぐるなびなどがあります。
【初心者用】Linuxファイルシステムとは何か
【図解】初心者向けファイルシステムの基礎知識〜仕組み, OSとの関係, アクセス権との連携〜Linuxファイルシステムとは、コンピュータ上でデータを格納し、組織化するための仕組みです。ファイルやディレクトリ(フォルダ)などのデータを管理し、アクセスするための基盤となります。異なる種類のファイルシステムが存在し、それぞれ異なる特徴を持っています。
その他(インフラ)
セキュリティエンジニアに必要なスキル | 2年目からのロードマップ
デジタル化が進む現代社会では、個人情報や企業の重要な情報を保護するセキュリティエンジニアの役割が急速に重要視されています。特に日本においては、2020年の「JIPDEC(一般財団法人日本情報経済社会推進協会)」の報告によれば、セキュリティ監査を実施している企業は8割を超え、国内のセキュリティ意識の高さが垣間見えます。この背景には、企業のデジタルトランスフォーメーション(DX)の進展やテレワークの普及などにより、サイバー攻撃の標的となりやすい状況が増え、それに対応するためのセキュリティ対策の強化が求められているためです。しかし、セキュリティエンジニアは他のIT職種と比べて高度な専門知識が求められる職種であり、そのための教育・育成体制もまだ十分に整っていないというのが現状です。セキュリティエンジニアとしてキャリアを進める際は、このような市場の状況を理解し、自身のスキルを高め、資格を取得することで市場価値を高め、多くのチャンスをつかむことが可能になるでしょう。本記事では、セキュリティエンジニアとは何か、キャリアアップするには、どのようなスキルや資格が必要なのか、そして現在の業界の状況と平均年収についても解説します。
Salesforceエンジニアになるためには?必要な基本知識とスキル、ロードマップを解説
Salesforceエンジニアとは、Salesforceというクラウド型のCRM(顧客管理)システムを開発・運用するエンジニアのことです。主に、Salesforceの機能やカスタマイズを行い、企業のビジネスニーズに応えるシステムを構築する仕事です。この記事では、高い需要と高い報酬を得られる職種として注目されている、Salesforceエンジニアの仕事内容や将来性について解説します。
【初心者必見】Mac環境でEclipseをインストールしてみた
今回現場で想定されるJavaの開発をするにあたり、自身のPC(Mac book Air)にJavaの開発環境を構築したいため、MacでEclipseをインストールしようと思う。 参考サイト Java環境構築(Mac版)Eclipseのインストール https://www.techfun.co.jp/service/magazine/java/mac-eclipse-install.html Mac環境でEclipseのダウンロードからプロジェクト立ち上げまでの手順を徹底解説! https://wk-partners.co.jp/homepage/blog/webservices/eclipse/
【エンジニアになりたい人必見!】データ構造とアルゴリズム
今回は、データ構造とアルゴリズムについてまとめました。エンジニアになりたい方に、欠かせない内容となっています。ぜひ最後までお読みください!
