【テストの種類】結合テスト
結合テストとは、システム開発におけるテスト手法の1つです。システム開発では、結合テストの他に単体、機能、システムテストなどがあり、開発工程によって実施するテストが異なります。結合テストは複数のプログラムやモジュールを同時に稼働して行う動作テストで、モジュール同士を結合した際に意図した通りに動作するかの検証を行います。結合テストは、事前にテスト仕様書を作成し、テスト項目を決めてからテストを行います。結合テストの項目は前段階の単体テストが全て完了していることが前提となります。結合テスト前に行う単体テストは、個々の機能やモジュールが単体で動作するかを検証するテストになります。単体テストで行ったテスト項目は結合テストでは殆ど行わないか、簡易的に確認することが一般的です。結合テストでは、ただ動作するかのテストを行うのではなく操作と機能動作の組み合わせが正しいか、仕様書通りに機能しているかについても検証します。単体テストによって個々で正しく動作することが確認された機能やモジュールを対象とし、機能間の連携や一連の機能が仕様書通りに正しく動作するのかを確認します。
初心者
【ソフトウェアテスト】同値分割法/境界値分析
入力されるデータによって判定を変えるという機能は、ソフトウェアの機能として広く一般的に使われます。自己責任で金銭を扱うサービスを利用する際には、18歳以上か未満かで利用の可不可を判定するという年齢確認機能が適用されていることがあります。ユーザーが任意にパスワードを設定できる機能の場合は、文字数が想定より少ない場合はセキュリティレベルが低いため無効として、文字数が想定より多い場合も仕様想定外として無効とするシステムもあります。こういった機能を対象に検証を実施する際、入力可能な数値を全て検証対象としてテストを実施しようとすると、非常に多くの工数を割かねばならないため、入力想定範囲の中で同じ処理を返す想定の数値は1つのグループとして扱い、処理の変わる境目に狙いを付けてテストするというのが、「同値分割法」と「境界値分析」です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】クラシフィケーションツリー技法
クラシフィケーションツリー技法は主に、複数のテスト対象と各対象の値が複数関連する状況で、各対象を木構造で図示することで、テスト対象の機能や状態を階層的に分類し、その組み合わせや変数いくつ分を対象とするか等の組み合わせの強度について、整理検討するときに用いる技法です。ドメイン分析テスト技法の際には、複数の境界値による動作変化の関連性と、その組み合わせで想定される複数パターンの網羅を表形式で表現する方法を取りましたが、クラシフィケーションツリー技法では、1つの機能に関わる複数の要素、各要素に想定される複数パターン、各パターンで想定される変数のパターンと、想定される内容を木構造の図で上から下へ記載して整理する方法を取ります。ブラウザベースでWebサイトを作成して、ウィンドウの表示サイズをPCサイズのレイアウトとスマホサイズのレイアウトで2パターン適用するとして、PCサイズレイアウトが正常に適用されているかを確認するときのテストスコープについて、ブラウザは[GoogleChrome][MicrosoftEdge][Firefox][Safari]をテスト対象と仮定し、各ブラウザのサイズや文字サイズ設定を変更しても問題ないか、さらに設定するウィンドウサイズは想定の最小値・最大値・全画面のパターンで、文字サイズは通常から何%拡大を対象とするかなどを考慮し、どの組み合わせでのテストを必要とするかを検討するといったような場合には、当該技法を用いることで視覚的に情報を整理しやすくなります。
テスト(運用・保守・サポート)
【Swift】 Firebaseでリアルタイム更新のチャット機能を作ってみる【Realtime Database】
Firebaseにはプッシュ通知の機能や、ユーザー認証、リアルタイムデータベースなど様々な機能があります。今回はFirebaseの最初の製品である「Firebase Real-time Database」を使って簡単かつシンプルなチャットアプリを作りました。環境・MacOS Ventura 13.0・Xcode 14.2・Swift version 5.7.2構成、設定等【Firebase】・プロジェクト名: SampleProject【iOS】・プロジェクト名: SampleFirebase・画面構成:1画面(チャットの画面のみ)
製造・コーディング(インフラ)
【C++基礎】C++プログラマが学びなおす その1
C++からしばらく離れていたプログラマですが、これからの業務で触れる可能性が出てきたので、一度初心に立ち返って基礎からおさらいをしていく過程を備忘録として残していきます。
製造・コーディング(PG/フロントエンド)
Pythonの基本構文
Python(パイソン)とは、1991年にオランダ人のGuido van Rossum(グイド・ヴァン・ロッサム)氏が開発したプログラミング言語です。アプリケーションの開発、人工知能、データ解析など様々な用途に使用でき、少ないコード量で簡潔に書けるため、読み間違えや書き間違い起こりづらいのが特徴です。文法がシンプルでわかりやすく初心者でも取り掛かり易い言語です。
開発環境関連(PG/バックエンド)
【Java基礎】Java未経験から習得を目指す 環境構築編
どうも、C++が最も得意なプログラマです。仕事の関係でJavaを扱うことになったのですが、Javaに関しては全くの未経験ですので、今回からJavaについて学んでいこうかと思います。
製造・コーディング(PG/フロントエンド)
【初心者向け】Packet Tracerでネットワークを学ぶ(DHCP)
DHCP(Dynamic Host Configuration Protocol)は自動的にIPアドレスやサブネットマスク等をPCやルータに配布してくれるプロトコルです。
詳細設計(内部設計)(インフラ)
【初心者用】AWS基礎②
前回は、AWSで知っておくべき用語やよく使われるサービスがどんなのがあるのか学んできました。今回は、AWSの初学者として、どんな内容を理解しておけばいいのか、AWSの入門編としてクラウドプラクティショナーという資格があるように、その内容についても触れながら学んでいきましょう。AWS資格は、AWSに関する専門知識やスキルを証明する資格で、試験対策を通してAWSを効率よく学ぶことができます。
その他(インフラ)
【初心者用】CakePHPを学んでいこう③(モデルの作成とデータ更新)
前回はCakePHPのインストールから簡単な画面表示までをご紹介しました。 今回は前回の続きとなる、簡単なModelの作成と取得したデータベースのデータを更新するところまでご紹介いたします。
製造・コーディング(PG/バックエンド)
PythonでWebアプリケーションを作成するための備忘録
近年AIやディープラーニングの盛り上がりで注目されているPythonですが、特徴、できること、学習方法、Webアプリケーション構築に適しているのかを調べてみました。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
Git GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
【初心者用】ifconfigの出力結果の見方
Linuxシステムでネットワーク設定や情報を確認するための基本的なコマンドの1つがifconfigです。この記事では、初心者向けにifconfigコマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【初心者用】Linuxファイルシステムとは何か
【図解】初心者向けファイルシステムの基礎知識〜仕組み, OSとの関係, アクセス権との連携〜Linuxファイルシステムとは、コンピュータ上でデータを格納し、組織化するための仕組みです。ファイルやディレクトリ(フォルダ)などのデータを管理し、アクセスするための基盤となります。異なる種類のファイルシステムが存在し、それぞれ異なる特徴を持っています。
その他(インフラ)