検索キーワード: 「オブジェクト指向」


【ソフトウェアテスト】テスト技法の有用性

世に存在するさまざまなソフトウェアテスト技法について、自身のナレッジ整理もかねて詳細をまとめようと思いました。ですが、いろいろなプロジェクトで開発エンジニア・PdM・PM・QAなどさまざまな方と関わらせていただく中で、QAテスター/テストエンジニア等のポジションの方以外には、ソフトウェアテストに技法が存在するということや、テスト技法を用いる意味とメリットについてあまり認識されていないかも知れないと思いました。まずはソフトウェア開発現場でソフトウェアテスト技法を用いたテストを実施することの理由などについてまとめます。

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

【ソフトウェアテスト】同値分割法/境界値分析

入力されるデータによって判定を変えるという機能は、ソフトウェアの機能として広く一般的に使われます。自己責任で金銭を扱うサービスを利用する際には、18歳以上か未満かで利用の可不可を判定するという年齢確認機能が適用されていることがあります。ユーザーが任意にパスワードを設定できる機能の場合は、文字数が想定より少ない場合はセキュリティレベルが低いため無効として、文字数が想定より多い場合も仕様想定外として無効とするシステムもあります。こういった機能を対象に検証を実施する際、入力可能な数値を全て検証対象としてテストを実施しようとすると、非常に多くの工数を割かねばならないため、入力想定範囲の中で同じ処理を返す想定の数値は1つのグループとして扱い、処理の変わる境目に狙いを付けてテストするというのが、「同値分割法」と「境界値分析」です。

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

【ソフトウェアテスト】ドメイン分析テスト

同値分割法/境界値分析については他の記事で記載しましたが、ドメイン分析テストも境界値を用いてテストします。このテスト方法は、関係性のある複数の変数について、入力データの有効範囲にフォーカスしてテストをする手法です。同値分割法/境界値分析では、一つの機能に関して境界がいくつか設定されていて、各境界の前後でそれぞれ動作が変わるような仕様に対してパーティションを分けてテストしていましたが、そのような数値による境界をもつ機能がいくつか関連して複数結果に分かれるような仕様のケースでは、ドメイン分析テスト技法が使用できます。ゲームのダメージ計算式で、与えた最終ダメージ数値に応じてクリティカル倍率をかけた数値を上乗せするといった場合に、元となるダメージ数値がいくつか、相手の防御数値がいくつか、数値いくつ以上でクリティカル倍率は何倍が適用されるか、各数値には有効・無効となる境界があり、かつ最終の数値ごとに複数のクリティカル倍率が用意されているといった仕様があったときに、ドメイン分析テストによって必要なテストケースを洗い出すことができます。

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

【ソフトウェアテスト】クラシフィケーションツリー技法

クラシフィケーションツリー技法は主に、複数のテスト対象と各対象の値が複数関連する状況で、各対象を木構造で図示することで、テスト対象の機能や状態を階層的に分類し、その組み合わせや変数いくつ分を対象とするか等の組み合わせの強度について、整理検討するときに用いる技法です。ドメイン分析テスト技法の際には、複数の境界値による動作変化の関連性と、その組み合わせで想定される複数パターンの網羅を表形式で表現する方法を取りましたが、クラシフィケーションツリー技法では、1つの機能に関わる複数の要素、各要素に想定される複数パターン、各パターンで想定される変数のパターンと、想定される内容を木構造の図で上から下へ記載して整理する方法を取ります。ブラウザベースでWebサイトを作成して、ウィンドウの表示サイズをPCサイズのレイアウトとスマホサイズのレイアウトで2パターン適用するとして、PCサイズレイアウトが正常に適用されているかを確認するときのテストスコープについて、ブラウザは[GoogleChrome][MicrosoftEdge][Firefox][Safari]をテスト対象と仮定し、各ブラウザのサイズや文字サイズ設定を変更しても問題ないか、さらに設定するウィンドウサイズは想定の最小値・最大値・全画面のパターンで、文字サイズは通常から何%拡大を対象とするかなどを考慮し、どの組み合わせでのテストを必要とするかを検討するといったような場合には、当該技法を用いることで視覚的に情報を整理しやすくなります。

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

【ソフトウェアテスト】エラー推測テスト

エラー推測テストは経験ベーステストの一種です。最も単純な表現をするならば、「どうすればエラーが発生するか」を想像して試行し、エラーを再現させることを目的としたテストの手法です。

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

インフラエンジニアの必須ツール!シェルの活用法とは?

インフラエンジニアにとって、シェルは欠かせないツールです。進化していく様々なTI技術でも利用されており、重要な作業を行うことができます。本記事では、そもそも「シェル」とは何か?インフラエンジニアとシェルの関係について、またその活用方法についても詳しく説明していきます。シェルの基本的な概念から実際の活用例まで、あなたの知識を深めるための情報がここにあります。

学習・スキル

ゲームエンジンの将来性は?必要なスキルやおすすめのゲームエンジンもご紹介!

https://pixabay.com/ja/illustrations/%E9%8A%83%E5%BC%BE-%E6%A6%82%E8%A6%81-%E3%83%AC%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88-443853/家庭用ゲームやモバイルゲーム、さらにはVRなどの開発を行う際にゲームエンジンを使うことがあります。ゲーム開発のためのツールや開発環境が揃っているゲームエンジンは、初心者がゲーム開発を行う際にかなり便利です。しかし、ゲームエンジンで開発する意味や必要性を理解していないと、ゲームエンジンの利便性を感じることは難しいでしょう。そこで、ゲームエンジンを活かし自身のキャリアアップに繋げるために、ゲームエンジンの基本的な内容と将来性についてお伝えします。

学習・スキル

CocoaPods自体のアップデートでのトラブル備忘録

Flutterの環境構築の関連ツールのインストール状態を確認で、インストールしてあるCocoaPodsのバージョンが古かったため、アップデートしたときのトラブルの備忘録として記載します。最近は、OSS利用時、SPMで管理できるようになってきているので、CocoaPods更新は、おざなりになりがちの方、このケースにヒットするかもしれません。同じ現象で悩まれる方の参考になればと思います。◆環境  ・Macbook Pro 2023(チップ Apple M2 Max)  ・MacOS Ventura 13.6.3  ・Xcode 15.1  ・CocoaPods → 以前、別ユーザで古いバージョンをインストール済(v1.8.4)

開発環境関連(PG/フロントエンド)

【QA】テストケースの書き方

システム開発における評価・検証では評価する為の状態や手順、そして確認するべき期待結果等の情報をまとめたテストケースを事前に作成することになります。しかしテストケースの書き方が不十分であると他の実施者がそれを見た時はもちろん、テストケースを作成した本人でもいざ評価をする際にテストケースに書かれた情報を正しく読み取ることが出来ない可能性があります。良質なテストケースは"誰が実施しても同じ期待値を得られる"ということです。本稿ではそのために意識するべきことをまとめていきます。

初心者

【初心者用】ソフトウェア開発工程について

ソフトウェア開発の工程について深く理解していないので、今回改めて開発からリリースまでの一連の流れを学びなおしたいと思います。どの工程でどういう作業が必要なのか理解することで、開発の際にさらに意識して仕事を進めることができると思います。今回は上記作業の一連の作業を表すV字モデルについてまとめていきたいと思います。

その他(PG/フロントエンド)

PythonでWebアプリケーションを作成するための備忘録

近年AIやディープラーニングの盛り上がりで注目されているPythonですが、特徴、できること、学習方法、Webアプリケーション構築に適しているのかを調べてみました。

初心者

関連タグ

カテゴリ別人気記事

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

週間人気記事

もっと見る