【ソフトウェアテスト】状態遷移テスト
何かの操作を行うと何かのアクションを実行して実行後の状態になり、実行後の状態からさらに次の操作を行うとまたアクションを返すといったように、ソフトウェアに限らず何かしらの機能を持つものは、機能を使う前と機能を使った後でそれぞれ状態が変わります。状態が仕様想定どおりに遷移しているかどうかを確認する技法として、状態遷移テストがあります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】直交表/ペアワイズ法 ②
直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ユースケーステスト
ユースケース(use case)テストとは、システム開発要件や機能仕様などのテスト対象に対して利用者サイドから想定しうるテスト対象の使用状況や相互の作用をユースケースとしてシナリオを想定することで、対象の利用に際して問題がないかを主軸にしてテストを行う手法です。シナリオを想定してテストを行うため、シナリオテストと混同されやすいですが、シナリオテストと比較してテスト対象や目的やテストの粒度など違う部分があるので、ユースケーステストとシナリオテストはそれぞれ別の手法として、実施するテストケースに応じて使い分けが必要です。シナリオテストは主に特定の機能や操作の流れを一連のシナリオとしてテストするもので、対象となる仕様や要件のみならず、ストーリーとして関連が想定される動作や異常系処理などもテストスコープに含むため、ユーザーサイドの視点で対象に対して詳細なテストを実施しますが、ユースケーステストは、あくまで対象となる仕様や要件から想定されうるユーザーストーリーをテスト対象とする前提で、シナリオテストよりもテストスコープは狭くなると想定されます。また、記事内にて後述しますが、ユースケース図を用いていることもユースケーステストの特徴であり、シナリオを順序立てる記述形式はシナリオテストもユースケーステストも同様ですが、テストケースの整理や共有の方法によってテストケース自体をレビューできるため、静的テストのアプローチがしやすいテスト技法です。
テスト(運用・保守・サポート)
【Java】ラムダ式のプログラミングを学ぼう
皆さんはラムダ式と呼ばれる文法についてご存じでしょうか。私は業務で少し使用した経験があります。たまにラムダ式を使用している開発業務を見かけることがありますが、そもそもラムダ式とはなにか、メリット・デメリットはなにかを記事作成を通して調査しまとめてみました。
初心者
【Javaフレームワークおすすめガイド】スキルアップへの第一歩
エンジニアとしての成長は、学習と実践を通じて進むものですが、その中でもプログラミング言語の選択は重要なステップです。特に、Javaという言語は幅広いアプリケーションで利用され、堅牢で拡張性の高いコードを作成することができます。しかし、Javaをより効果的に活用するためには、フレームワークの理解が不可欠です。本記事では、Javaの基礎から始めて、フレームワークの種類やそれぞれの特徴、そしてJavaエンジニアとしてのキャリアパスについて深掘りしていきます。エンジニアとしての成長において何が足りないのか、またどのようなスキルや知識が必要なのかを明確にするための第一歩として、Javaとそのフレームワークについて詳しく解説します。
学習・スキル
タスク管理ツール、Redmineの使い方
Redmine(レッドマイン)とはオープンソースで公開されているプロジェクト管理ツールのことです。 プロジェクト管理ツールとは、チームで作業する場合の進捗状況やスケジュールを管理することを目的としており、システム開発などエンジニアの仕事においては必須のツールであります。 今は様々なプロジェクト管理ツールが存在していますが、数あるツールの中でもRedmineはオープンソースで自由度が高いという特徴を持っています。 Redmineはフランス人であるJean-Philippe Lang氏によって開発され、2006年に最初のバージョンがリリースされた、かなり歴史の古いプロジェクト管理ツールです。 オープンソースであるためGitHub上でソースコードが公開されており、様々なエンジニアが開発に参画していますしていることから、GitHubでは細かいアップデートが頻繁に行われています。 また、Redmineはオープンソースソフトウェアであるため、全ての機能を無料で使うことが可能です。個人利用としてプロジェクト管理ツールを使いたい場合にも心強いと言えるでしょう。
製造・コーディング(PG/バックエンド)
【初心者用】オブジェクト指向について初心者でもわかりやすくしてみた
オブジェクト指向とは、プログラミングの手法の一つです。 そもそも、プログラミングとは、「人間がコンピュータにやってほしいことを、コンピュータに分かる言葉を並べて指示を出す」ということです。 そして、その「指示」の出し方、表現の仕方は多岐にわたり、オブジェクト指向はその一つとなります。 オブジェクト指向、という言葉は、プログラミングの勉強をしているとよく聞くことになる言葉ですが、いざ説明するとなると、なにぶん「手法」の話なので、抽象的に、専門的になりがちです。 ここでは、そんなオブジェクト指向について、あくまで初心者の目線から分かりやすい表現で、ざっくりと説明しつつ、メリットやデメリットを説明していきたいと思います。
製造・コーディング(PG/バックエンド)
【初心者用】オブジェクト指向におけるカプセル化について
カプセル化とは、オブジェクト指向における考え方の一つです。 オブジェクト指向については、他サイトで色々と説明が為されておりますが、調べるのが億劫な方は、ざっくり「各々の細かい処理を別クラスに分けて部品化し、メインとなるクラスからそれらを呼び出すという考え方」程度には認識しておいてください。 今回は、カプセル化とはどういった考え方か、その具体例を交えて説明していきたいと思います。
製造・コーディング(PG/バックエンド)
Springを使ったAPIの実装方法
そもそもAPIとは、簡単に言うと他社が作った機能を自社のサービスに簡単に取り入れることができます。 例として、自分が住んでいる地域の天気予報が知りたいときにAPIを利用すると、住んでいる地域の情報を引数として相手に教えてあげると結果として自分の住んでいる地域の天気予報データが取得できたりします。 他にも、運送業者などが荷物発送のタイミングでメッセージアプリのAPIを利用すると荷物の発送通知などが利用者に簡単に伝えることができます。 APIを利用すると自社システムの開発の工数を減らすことができ、API利用可能なサービスはAPIを利用することでスムーズに自社のシステムに取り入れることができます。 ただメリットばかりではなくデメリットもあります。 APIの仕様変更やサービスの停止でシステムがうまく動作しなくなったり、APIを運用しているサーバーで不具合があったときはAPIは利用できず APIを過剰に利用せず自社システムである程度対処できるようにしておくことも大事です。
製造・コーディング(PG/バックエンド)
