負荷テストとインフラの基礎知識 〜現場で活きる実践的ノウハウ〜
今回は「負荷テスト」について、実務ベースで押さえておきたいポイントをブログ形式でご紹介します。最近ではWebアプリケーションの多様化とともに、アクセス集中や大量データ処理に耐えうるシステム構築が求められています。その中でも、システムの健全性を担保するための“負荷テスト”は非常に重要な工程のひとつです。「負荷テストって聞いたことあるけど、実際どんなことをするの?」「インフラの知識がないとできないの?」という方に向けて、実践に即した情報をまとめてみました。
テスト(インフラ)
【ソフトウェアテスト】不具合報告のインシデントレポートについて
開発プロジェクトで発生した問題はインシデントとして、管理・分析・対応が必要です。プロジェクト全体を通しての問題となるとかなり範囲は広く、人的トラブルやステークホルダー間での問題など、開発しているプロダクト以外の問題も含んでしまうので、本記事では主にプロダクトのテストに関して検出された動作の不具合(バグ)に焦点を絞って記載します。プロダクトのテストに際して検出した不具合は、報告・対応したあとは蓄積データとして、引き続きプロジェクトで参照・活用されます。実際の開発現場によっては、早期レビューでのやりとりに関するものや、開発とテスターが口頭で連携できるような状況で報告即時対応できる程度の不具合対応など、状況により必ずしも定められたドキュメントの形式で報告されるものとは限りませんが、可能な限り検出対応した不具合は履歴を残しておくことで、プロダクトの品質向上を目指すことができます。ほとんどの場合は不具合管理に別途外部のbug tracking system(BTS)を使用しています。BTSはインシデントレポート1件をチケットという1単位で扱います。チケットの形式や内容が必ずしも同一の形式に沿っているというものではありませんが、不具合の報告管理をするチケットの内容は、管理運用の観点から記載が必要となる項目はある程度決まっています。余談ですが、BTSは不具合報告のみならず、チケット駆動開発 (TiDD) を実施するプロジェクトでは開発作業自体の管理進行目的で使用される場合もあります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【Excel VBAマクロを実行するための初期設定】(5回目)
前回、実施した「Application.ScreenUpdating」と「Application.Calculation」の設定を行うとマクロの実行を行うと約半分くらいの時間(検証結果)でできるようになりました。今回は残りの2つのコードを記載していきたいとおもいます。前回と同様に検証をしながら実施していけたらいいなと思っています。今回は高速化を行うというよりは、ポップアップが出ないようにするコードなので、時間が半分になるというより、マクロを実行しても止まらないようにするという感じになります。
製造・コーディング(SE)
【初心者用】React Nativeについて
Reactは学んでいたのですが、主にWeb系のUI開発にしか使用ができないため、Android開発をしたい場合はできませんでした。ですが、Reactには携帯用のアプリ開発言語があることを知ったので、改めて今回勉強の為にまとめておきたいと思います。
その他(PG/フロントエンド)
【初心者用】githubって何?
IT関係の仕事や、プログラミングを学んでいる方が必ずと言っていいほど耳にする言葉が、今回紹介するgithub(ギットハブ)です。 今回の記事では、githubの使い方と何故githubがここまで人気なのかをまとめた記事になっているので、良かったら見ていってください! この記事を読むことで分かること ・gituhubとは何かを学べる
製造・コーディング(PG/バックエンド)
Flutterを使ってみよう その2(サンプルの実行)
前回の環境構築の記事の続きです。今回は、サンプルプロジェクトを作成し、簡単な動作確認をします。◆環境 ・MacOS Ventura 13.6.3 ・Xcode 15.1 ・VSCode 1.85.1 ・iPhoneX (iOS16.5.1)
製造・コーディング(PG/フロントエンド)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
学習・スキル2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【初心者向け】Packet Tracerでネットワークを学ぶ(NAT)
NATとはNetwork Address Translationの略称でIPアドレスを変換する技術です。 インターネットに接続する際にプライベートIPアドレスをグローバルIPアドレスに変換します。
詳細設計(内部設計)(インフラ)
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
【初心者必見】Python独学を通し、プログラミング入門についてまとめてみた
とあるきっかけからPythonに関心を持ちまして、手探りですが勉強をしてみました。 まだ入り口に片足踏み込んだ程度ですが、プログラミング初心者にとってはその難しい「一歩」の助けになればと思い、記事にしました。 当記事では、ざっくりと ・使用した教材、感じた利点 ・学習のコツ、簡単に応用力を伸ばしていける工夫 について、書いていきます。 プログラミング学習のコツについても解説していくので、Python初心者に留まらず、プログラミング自体が初めての方にも参考になると思います。 ※注意点! ・本記事は、あくまで学習方法、コツについての解説です。Pythonって何? どうコーディングすればいいの? といった点に触れたものではありません。 ・本記事における学習ラインは、タイトルに「入門編」と書いた通り、変数の概念や条件分岐や繰り返し文といった初歩の初歩までです。機械学習やデータ分析といったディープな部分までを補完しうるものではありません。
製造・コーディング(PG/バックエンド)
