【ソフトウェアテスト】ソフトウェア開発とテスト活動について ①
ソフトウェアはほとんどの場合、複数の機能を組み合わせてシステムを構築し、さまざまなシステムをまとめたものを運用する想定で開発プロジェクトが進行します。Webシステム開発、アプリケーション開発、組み込みシステム開発など、開発プロジェクトにもそれぞれ種類はありますが、アプリケーションに付随するWebサービスを展開する場合にWebシステムを開発したり、組み込みシステムと連携するアプリケーションを展開する場合にアプリケーション開発をするなど、複数のサービスやプラットフォームが関連しているのがソフトウェアの現状であり、開発プロジェクトもそれに伴って複雑で多様な関係性の中で進行していきます。このため、何か一つを開発して終わりとなることはほとんどなく、開発プロジェクトの開始・終了・進行中に至るまで、そのほか複数の開発プロジェクトの進行も関連してきます。とはいえ、多くのプロジェクトが相互に関連しながら進行しているとしても、プロジェクト進行の工程という点でいうならば、サービスやシステムの企画と検討に始まり、リリース後の継続的な運用保守から運用の終了に至るまでを一つのサイクルとして、開発プロジェクトは段階を経て進行していくといえます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【基礎】useEffect.useStateについて
Reactを使用した開発の勉強をしているので、頻繁に使用するuseEffectやuseStateなどのHooksにして基本的な用途と作業した例をまとめます。
その他(PG/フロントエンド)
決済サービスStripe+Laravelで決済フォームを作る
決済サービスとして人気なStripeを使用して決済フォームを作成してみます。以前GMO Paymentサービスを利用した際の導入コストや使用感などの比較検討を行い、要件にあったサービス選択を行う判断基準と学習を目的とします。・環境Laravel 10.3PHP 8.1nginxMySQLStripe
その他(PG/バックエンド)
Windows Active Directory入門
Windows Active Directory(AD)は、ネットワーク上でのリソース管理やセキュリティの向上に不可欠なツールです。本記事では、初心者向けにActive Directoryの基本的な概念と用語を大まかに解説します。ADの導入から基本的な機能の使い方を学んでいきましょう。なお、詳細なドキュメントは以下のサイトを参照してください。https://learn.microsoft.com/ja-jp/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview
その他(インフラ)
【初心者用】SQLのクエリ操作基礎2
タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。操作方法について忘れていることが分からないことが多いので、クエリ操作について基礎を学んでいきます。
その他(PG/バックエンド)
【初心者用】SQLのクエリ操作基礎3
タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。操作方法について忘れていることが分からないことが多いので、基礎を学んでいきます。
その他(PG/バックエンド)
【初心者用】SQLのクエリ操作基礎5
タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。操作方法について忘れていることが分からないことが多いので、基礎を学んでいきます。
その他(PG/バックエンド)
【ソフトウェアテスト】デシジョンテーブルテスト
さまざまな入力値が想定されており、それぞれの入力値を統合した結果として複数の状態を返すようなシステム仕様に対しては、デシジョンテーブルテスト技法を用いることで、複雑な条件を整理することができます。サービス利用時に新規アカウントを作成するような場面で、ユーザー情報を入力して登録する機能を想定した場合、[名前(ローマ字)][よみがな][任意のパスワード][パスワード確認入力][年齢][住所]などを入力し、それらの入力値が全て正常であれば登録処理を進めて、入力値のうち1つでも正常ではない値が入力されている場合は、エラーメッセージを表示して再度入力を促すようなシステムがあります。対象のステータスによって期間限定のサービス適用有無を判定するようなシステムでも、サービス対象となるかどうかを複数条件から判定するような仕様が想定されます。5年以上サービスを利用していて、アカウントの利用者ランクがゴールド以上の場合、商品購入時の金額から5%をサービス固有ポイントとして還元するというイベントを、n年n月n日~n年n月n日まで開催するといった追加開発システムのテストをする際に、デシジョンテーブルによってテスト対象を適切に抽出できます。
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
ネットワークエンジニアの将来性と市場の需要 | キャリアアップに必要な3つの要素
企業のデジタル化が進む現代社会において、ネットワークエンジニアの仕事は、市場の高い需要と共に、その将来性も見込まれています。その一方で、ネットワーク技術は日々進化し、新たなセキュリティ課題も常に出現しており、これらの変化に対応するため、ネットワークエンジニアは自身のスキルを常にアップデートしたり、最新のインフラ知識が求められます。ネットワークエンジニアとして成功するためには、継続的な学習と新しい技術への適応、必要なスキルを身につけ、ネットワークエンジニアとしての価値を高めることが大切です。本記事では、ネットワークエンジニアとして求められる需要や将来性、そして長く活躍するために必要なスキルや知識について詳しく解説していきます。
キャリア
今後必ず需要が伸びるクラウドエンジニアについてご紹介!必要な知識もご紹介します
近年、自社でサーバーを持たずにクラウドサービスを利用してアプリケーションを構築する形態が多くなっております。その中で需要が増えてきているのがクラウドエンジニアとなります。クラウドエンジニアとは、ネット上のクラウドサービスを利用してシステムの構築や保守を行う、クラウドサービスに特化したエンジニアを指します。これまではサーバーやネットワークといったハードウェアを自社にて調達、設置したうえでアプリケーションを構築・運用する形態が一般的でした。これらはオンプレミス環境と呼ばれており、現在でも多くの環境がオンプレミス環境となっております。一方で最近ではクラウドサービスの導入を検討する企業が多くなっております。より多くの企業がクラウドサービスを採用するようになるため、クラウドエンジニアの需要は今後必ず伸びていきます。一方でクラウド技術も発展途上ということもありますが、クラウドサービスに長けたクラウドエンジニアもまだまだ少ないのが現状です。ネットワークエンジニアやサーバーエンジニアはクラウド化の進行に併せて、これまで培ってきたサーバーの構築知識やネットワーク技術を活かしながら、クラウドへの理解を深めることが求められるでしょう。そこで今回はクラウドエンジニアについてご紹介していきながら、必要となる知識についてもご紹介していきます。
学習・スキル
クラウドサービスについて
クラウドとは、クラウドコンピューティングの略で、ユーザーがサーバーやネットワークなどのインフラやソフトウェアを持たなくてもインターネットと介してサービスを受けることが可能になる仕組みです。自分のコンピューターにソフトウェアをインストールせず、ウェブブラウザなどを使ってシステムを利用します。ソフトウェアを動作させるITリソースやサービスはすべてクラウドベンダーが所有しており、ユーザーはそれらをインターネット経由で利用します。クラウドサービスでは、ソフトウェアの場所やデータ保管先はインターネット上の見えないところにあるので、システムの構成図を表す際に、雲(=クラウド)のマークを使っていたため、「クラウド」と呼ばれるようになったと言われています。
その他(インフラ)
クラウドサービスとセキュリティ対策
クラウドサービスにおけるセキュリティ対策について話していきます。近年、クラウドサービスを利用する企業が増加しています。利用する理由として、「資産、保守体制を社内に持つ必要がない」「場所、機器を選ばずに利用できる」「安定運用、可用性が高くなる」などの声があるようです。しかし、「セキュリティ面」での不安を抱えて、クラウドサービスを利用するのはためらうという声が多いのも事実です。安全にサービスを活用するために、サービス提供事業者を選ぶ際のポイントや、セキュリティ対策について紹介していきます。
その他(インフラ)
AWSエンジニアの仕事内容とは?転職に必要なスキルやポイントを解説!
IT業界では、日々新しいトレンドや技術が生れていますが、その中でも常に注目を浴びているのが「クラウドコンピューティング」の分野です。そのクラウドコンピューティングの中心に位置するのがAWSと言われています。しかし、AWSエンジニアになるには、何から始めれば良いのか、どのようなスキルや知識が必要なのか、インフラエンジニア初心者には分からないことも多いでしょう。この記事では、AWSエンジニアになるための、基礎知識や転職に必要なスキルやポイントをまとめていますので、AWSエンジニアの転身を考えている方の参考となれば幸いです。
学習・スキル
APIとは? API連携の仕組みやメリット、利用時の注意点をわかりやすく紹介
世の中にある多くのシステムやアプリケーションはAPIを通じて連携し、さまざまな業界や分野において利便性の高いサービスを実現しています。しかし、APIという言葉は聞いたことがあっても、具体的にAPIがどのような仕組みで、どのようなメリットをもたらすのか、利用者の立場では知る機会は少ないのではないでしょうか。この記事では、APIの基本的な仕組みから、API連携のメリット、そして利用時の注意点について詳しく解説しますので、APIを最大限に活用して、ビジネスにどのような効果があるのか知ってもらえれば幸いです。
学習・スキル
CIとは何か?代表的なCIツールの特徴とメリット・デメリットを解説
CIとは、開発者がコードを頻繁に統合し、自動的にテストやビルドを行うことで、品質や効率を向上させる手法です。 CIを実現するためには、CIツールと呼ばれる専用のソフトウェアが必要です。 CIツールは、コードの変更を検知し、自動的にテストやビルドを実行し、結果を報告する機能を提供します。しかし、CIツールには様々な種類があり、それぞれに特徴やメリット・デメリットがあります。 では、どのようにしてCIツールを選ぶべきでしょうか? この記事では、代表的なCIツールの概要と選び方について解説します。
学習・スキル