【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
システム開発のテスト工程で重要な事とは?
システム開発では、不具合やバグが無いかを検証するテスト工程と呼ばれる期間が存在します。 テスト工程には大きく分けて下記4つのテスト内容が存在します。 ・単体テスト・・画面や機能ごとに、動作の検証をする ・結合テスト・・他の機能やシステムと連携させて、動作の検証をする ・総合テスト・・本運用を想定して、システム全体の動作を検証する・ 受入れテスト・・納品前に仕様書の通り完成しているか確認する システム開発におけるテストの役割は、開発したシステム、記述したプログラムが不具合なく動作するか、バグなどがないかをチェックして修正する工程のことを指します。 どれだけ優秀なエンジニアが開発していようと、人の手が介在するシステム開発では、バグがないということは絶対にあり得ません。 たとえば、システム開発の現場でもっともポピュラーな開発の流れの「ウォーターフォール型」を採用している場合、「単体テスト」「結合テスト」「システムテスト(総合テスト)」「受け入れテスト(ユーザーテスト)」の、大きく4つのテスト工程が実施されます。
製造・コーディング(PG/バックエンド)
WSUS(Windows Server Update Services)入門: セキュリティと更新の一元管理
Windowsオペレーティングシステム(OS)や関連製品のセキュリティ更新や修正プログラムの適用は、組織がシステムを安全かつ安定した状態に維持するために不可欠です。その中でも、WSUS(Windows Server Update Services)はMicrosoftが提供するツールであり、更新プログラムの効率的で中央集中的な管理を可能にするサービスです。この資料では、WSUSの基本から導入手順、具体的な使用例、そして利点までを初心者にもわかりやすく解説します。詳細なドキュメントは下記のURLを参照してください。https://learn.microsoft.com/ja-jp/windows/deployment/update/waas-manage-updates-wsus※使用されている画像は参考画像です。
その他(インフラ)
【初心者】JavaScript
JavaScriptとは、動的なWebページを作るためのプログラミング言語の一つです。代表的な機能は、ボタンを押すと画面に別ウィンドウが開く「ポップアップウィンドウ」や、画像が自動送りされる「スライドショー(スライダー)」などの多様なアニメーションです。その他、システムやアプリ開発などのバックエンドでも用いられています。
初心者
ネットワークの基礎①
コンピュータは、さまざまな進化や発展を遂げてきました。大型汎用コンピュータ、スーパーコンピュータ、ミニコンピュータ、パーソナルコンピュータ、ワークステーション、ラップトップコンピュータ、そして、スマートフォンと、多種多様なコンピュータが誕生してきました。年々、性能は向上しています。・大型汎用コンピュータ汎用機…メインフレームとも呼ばれている大型コンピュータです。また、ホストコンピュータと呼ばれることもあります。※TCP/IPの世界では、IPアドレスが設定されたコンピュータは、ラップトップ型のコンピュータであっても「ホスト」と呼ばれるので、混同しないように注意しましょう。・スーパーコンピュータ…計算能力が非常に高いコンピュータです。複雑な科学技術計算などに用いられます。・ミニコンピュータ…大型汎用コンピュータよりも「ミニ」サイズのコンピュータのことです。実際の大きさはタンスほどの大きさがあります。
その他(インフラ)
【初心者用】SQLのクエリ操作基礎2
タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。操作方法について忘れていることが分からないことが多いので、クエリ操作について基礎を学んでいきます。
その他(PG/バックエンド)
誰もが憧れるゲームプログラマー!気になる年収と必要なスキルとは?
ゲームプログラマーという職業は、未知の領域への扉を開く魔法使いのような存在です。彼らはコードの魔法を駆使して、デジタルの世界に没入する体験を提供します。ゲームプログラマーは、ゲームプレイヤーに未知の世界を探検させ、挑戦を与え、感動を与えるそんな魅力的な職業です。今回は、そんなゲームプログラマーの気になる年収や必要なスキルをご紹介していきます。
キャリア
組み込みエンジニアの将来性と需要
組み込みエンジニアの将来性と需要について探ってみましょう。組み込みシステムは、私たちの日常生活において見逃せない役割を果たしており、その基盤となる技術はますます重要性を増しています。この記事では、組み込みエンジニアの仕事内容、その専門性の求められる分野、そして未来への展望に焦点を当てて詳しく解説します。組み込みエンジニアが果たす役割は、私たちの日常に欠かせない多くのデバイスやシステムを支えることです。冷蔵庫の制御、自動車のエンジン管理、医療機器の動作制御など、これらの技術は私たちの生活の中で当たり前に使用されています。本記事では、組み込みエンジニアの存在が及ぼす影響と、その需要の増大について詳しく見ていきましょう。
キャリア
Salesforce開発に欠かせないApexの役割と学習方法を解説
Salesforceは、世界最大のクラウド型のCRM(顧客管理)システムであり、様々な業務やビジネスに対応したアプリケーションを提供しています。Salesforceのアプリケーションは、カスタマイズや拡張が可能で、自分のニーズに合わせて機能やデザインを変更することができます。そこで活躍するのがSalesforce専用のプログラミング言語である「Apex」です。この記事では、Apexの役割や開発環境、Apexの学習方法について解説しますので、これまでSalesforceの標準機能を使うだけで、100%活用できていなかったエンジニアの方は是非最後まで読み進めてください。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るGit GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
【初心者向け】Packet Tracerでネットワークを学ぶ(NAT)
NATとはNetwork Address Translationの略称でIPアドレスを変換する技術です。 インターネットに接続する際にプライベートIPアドレスをグローバルIPアドレスに変換します。
詳細設計(内部設計)(インフラ)
【初心者用】ifconfigの出力結果の見方
Linuxシステムでネットワーク設定や情報を確認するための基本的なコマンドの1つがifconfigです。この記事では、初心者向けにifconfigコマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)