検索キーワード: 「初心者エンジニア向け記事」


【ソフトウェアテスト】状態遷移テスト

何かの操作を行うと何かのアクションを実行して実行後の状態になり、実行後の状態からさらに次の操作を行うとまたアクションを返すといったように、ソフトウェアに限らず何かしらの機能を持つものは、機能を使う前と機能を使った後でそれぞれ状態が変わります。状態が仕様想定どおりに遷移しているかどうかを確認する技法として、状態遷移テストがあります。

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

【ソフトウェアテスト】デシジョンテーブルテスト

さまざまな入力値が想定されており、それぞれの入力値を統合した結果として複数の状態を返すようなシステム仕様に対しては、デシジョンテーブルテスト技法を用いることで、複雑な条件を整理することができます。サービス利用時に新規アカウントを作成するような場面で、ユーザー情報を入力して登録する機能を想定した場合、[名前(ローマ字)][よみがな][任意のパスワード][パスワード確認入力][年齢][住所]などを入力し、それらの入力値が全て正常であれば登録処理を進めて、入力値のうち1つでも正常ではない値が入力されている場合は、エラーメッセージを表示して再度入力を促すようなシステムがあります。対象のステータスによって期間限定のサービス適用有無を判定するようなシステムでも、サービス対象となるかどうかを複数条件から判定するような仕様が想定されます。5年以上サービスを利用していて、アカウントの利用者ランクがゴールド以上の場合、商品購入時の金額から5%をサービス固有ポイントとして還元するというイベントを、n年n月n日~n年n月n日まで開催するといった追加開発システムのテストをする際に、デシジョンテーブルによってテスト対象を適切に抽出できます。

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

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

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

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

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

直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。

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

【C# WPF】WPFを理解したいC#初心者の話【MVVMパターン編その4】

C# WPFについて学んでいく過程を備忘録として残して置きたいと思います。

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

Pythonの基本構文

Python(パイソン)とは、1991年にオランダ人のGuido van Rossum(グイド・ヴァン・ロッサム)氏が開発したプログラミング言語です。アプリケーションの開発、人工知能、データ解析など様々な用途に使用でき、少ないコード量で簡潔に書けるため、読み間違えや書き間違い起こりづらいのが特徴です。文法がシンプルでわかりやすく初心者でも取り掛かり易い言語です。

開発環境関連(PG/バックエンド)

【Java基礎】Java未経験から習得を目指す 環境構築編

どうも、C++が最も得意なプログラマです。仕事の関係でJavaを扱うことになったのですが、Javaに関しては全くの未経験ですので、今回からJavaについて学んでいこうかと思います。

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

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

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

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

【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ①

生産の分野における管理手法に関して、各種データの分析に使用する代表的な7種類の手法が、QC7つ道具と呼ばれています。もともとは工業系生産などの製造現場における品質に関して、顧客信頼度を高めたり現場の問題解決に取り組むための視点として、品質管理の思考が波及しました。そのことから、管理の手法を明示化することで、手法を用いて誰でも品質管理に取り組むことができるようになることを目的としてさまざまな手法が作成されました。それらの中でも特に代表的なものがQC7つ道具と呼ばれるようになりました。ソサエティー5.0が提唱されている現代において、市場や製造現場におけるソフトウェア関連開発業務の割合は増えています。ITの基本資格でもある基本情報技術者試験のストラテジ系領域の内容にもQC7つ道具に関する問題が含まれており、ソフトウェア開発現場におけるQC(Quality Control)活動においても、QC7つ道具の利用される場面は増えています。QC7つ道具は主に、数値などの定量的分析が可能なデータを取り扱う分析の際に用いられる手法です。定性的な事象の分析に用いるような手法は新QC7つ道具として別でまとめられています。※以降に記載する図の中でも定性的事象分析に使用できる図はあるため、QC7つ道具が必ずしも定量的分析にしか使用しないものというわけではありません。

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

【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ②

QC7つ道具は、主に生産現場における各種数値を元に品質やリスクなどを分析して、品質管理を進める手法でしたが、品質管理に関わる問題は定量的分析のみでは対応しきれないようなものもあります。「【ソフトウェアテスト】欠陥分析手法について」記事でも触れているとおり、統計的分析は定量的解析手法で対応可能ですが、問題の要因に対してアプローチしようと考えた場合に、あらゆる要因が数値化できるのであれば定量的分析手法を用いれば解決できますが、数値化が困難であったり、集計して数値化して分析すると考えた場合に非常に手間がかかるような要-因に対しては、定性的な分析手法が必要になります。また、生産活動そのもののみではなく、プロジェクト全体の管理もQC活動、品質管理活動で対応すべき事象です。プロジェクト進行における問題点の可視化や共有に際して、数値データではない文字データや言語データでの集計管理をして、そうした定性的データを共通化された手法を用いて分析することにより、どのような生産現場でどのようなスキルの人が品質管理対応をする想定になったとしても、ある程度容易に対応できるように作成された手法のなかでも代表的な7つの手法が、新QC7つ道具(N7)として分類されています。英語ではNew Quality Control – 7 Tools等と呼ばれます。

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

【QA】今更聞けない3つのテスト工程

ソフトウェアや機能の評価にはいくつかの工程があり、それぞれ異なる範囲と粒度でシステムを評価する目的があります。しかしシステム開発の現場によってはローカルなテスト名が運用されることが多く、自分が具体的にどの工程のテストに触れてきたのか曖昧にしか把握していない方も少なくないのではないでしょうか。様々な種別のテストがどういう目的で行われているのかを知ることで、プロジェクトにおける評価工程の在り方を理解していきましょう。

初心者

【初心者用】CCNA学習#4

今回から、何回かにわけてネットワーク層について、まとめていきたいと思います。

その他(インフラ)

関連タグ

カテゴリ別人気記事

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

週間人気記事

もっと見る