【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
IVEC学習①
IT検証技術者認定試験(IVEC)とは、一般社団法人IT検証産業協会(IVIA)が認定するテストエンジニアの資格試験です。特徴はテストの現場における実務を重視していることです。IVECのキャリアクラス(下図参照)ごとに実務力を問う記述式試験を設けており、その合格者(認定者)には実際の現場でも安心して仕事が任せられると、業界でも高い評価を受けています。2024年春期試験より従来の試験レベルを再編し、テスタークラス、デザイナークラス、 アーキテクトクラスにすると共に、新たに、初心者向けのアシスタントクラス、専門家として活躍できる エバンジェリストクラスを新設しました。各クラスの試験の合格者を認定者とし、認定証を発行します。
学習・スキル
【QA】今更聞けない3つのテスト工程
ソフトウェアや機能の評価にはいくつかの工程があり、それぞれ異なる範囲と粒度でシステムを評価する目的があります。しかしシステム開発の現場によってはローカルなテスト名が運用されることが多く、自分が具体的にどの工程のテストに触れてきたのか曖昧にしか把握していない方も少なくないのではないでしょうか。様々な種別のテストがどういう目的で行われているのかを知ることで、プロジェクトにおける評価工程の在り方を理解していきましょう。
初心者
Angularについて基礎知識を学ぶ
Angularという言葉を最近耳にすることが多くあります。私自身これまでAngularの開発に携わったことがないため、この記事作成を通してAngularとはどういったものなのか、基礎知識を学んでいきたいと考えてます。
初心者
【初心者用】Pythonでスクレイピングをしてみよう
前回の記事で、Pythonのプログラムを実行するための環境構築について解説しました。 今回の記事では、Pythonで出来る作業の代表格でもあるスクレイピングを実際に行い、プログラミングのイメージを可視化していければと思います。 前回の記事で構築した、Jupyter Notebookを使っていきます。
製造・コーディング(PG/バックエンド)
【入門編】AWSとは何か?人気の理由まで解説
ITの業務に従事されている方や、インターネットやSNS等でIT関連の情報を収集されている方なら一度は聞いたことのある言葉の一つが、「AWS」ではないでしょうか? AWSとはアマゾンが提供するクラウドプラットフォームであり、正式名称はAmazon Web Service(アマゾンウェブサービス)です。 本記事では、AWSを使うと何ができるのか?なぜそんなに人気なのか?など、初心者の方が疑問に持つであろう部分を網羅的にまとめた記事となっております。 この記事を読むことで分かること ・AWSとは何かが理解できる ・AWSが人気な理由が分かる
製造・コーディング(PG/バックエンド)
DX化を加速させるローコード開発とは?
昨今、様々な外的要因により企業をとりまくビジネス環境の変化が大きく加速しています。 これまでと比べて、より柔軟に、よりスピード感を持った迅速な対応が求められる時代になってきているのではないでしょうか。 そんな中、企業のあらゆるニーズに応え、ITをビジネスの成果に直結させる手段としてここ数年で「ローコード開発」というシステム開発の手法が注目されています。 今回の記事では、ローコード開発とはどのようなものなのか、従来の開発手法との違いやメリット・デメリットなどと併せて紹介していこうと思います。
製造・コーディング(PG/バックエンド)
システム開発のテスト工程で重要な事とは?
システム開発では、不具合やバグが無いかを検証するテスト工程と呼ばれる期間が存在します。 テスト工程には大きく分けて下記4つのテスト内容が存在します。 ・単体テスト・・画面や機能ごとに、動作の検証をする ・結合テスト・・他の機能やシステムと連携させて、動作の検証をする ・総合テスト・・本運用を想定して、システム全体の動作を検証する・ 受入れテスト・・納品前に仕様書の通り完成しているか確認する システム開発におけるテストの役割は、開発したシステム、記述したプログラムが不具合なく動作するか、バグなどがないかをチェックして修正する工程のことを指します。 どれだけ優秀なエンジニアが開発していようと、人の手が介在するシステム開発では、バグがないということは絶対にあり得ません。 たとえば、システム開発の現場でもっともポピュラーな開発の流れの「ウォーターフォール型」を採用している場合、「単体テスト」「結合テスト」「システムテスト(総合テスト)」「受け入れテスト(ユーザーテスト)」の、大きく4つのテスト工程が実施されます。
製造・コーディング(PG/バックエンド)
タスク管理ツール、Redmineの使い方
Redmine(レッドマイン)とはオープンソースで公開されているプロジェクト管理ツールのことです。 プロジェクト管理ツールとは、チームで作業する場合の進捗状況やスケジュールを管理することを目的としており、システム開発などエンジニアの仕事においては必須のツールであります。 今は様々なプロジェクト管理ツールが存在していますが、数あるツールの中でもRedmineはオープンソースで自由度が高いという特徴を持っています。 Redmineはフランス人であるJean-Philippe Lang氏によって開発され、2006年に最初のバージョンがリリースされた、かなり歴史の古いプロジェクト管理ツールです。 オープンソースであるためGitHub上でソースコードが公開されており、様々なエンジニアが開発に参画していますしていることから、GitHubでは細かいアップデートが頻繁に行われています。 また、Redmineはオープンソースソフトウェアであるため、全ての機能を無料で使うことが可能です。個人利用としてプロジェクト管理ツールを使いたい場合にも心強いと言えるでしょう。
製造・コーディング(PG/バックエンド)
【初心者用】ASP.NETについて基礎知識をまとめてみた
ASP.NETが必要になったので、勉強してみて分かったことをざっくりまとめてみます。 筆者がASP.NETに関して初心者から入ったので、分かりやすく噛み砕きながら説明していきたいと思います。
製造・コーディング(PG/バックエンド)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るGit GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
【初心者向け】Packet Tracerでネットワークを学ぶ(NAT)
NATとはNetwork Address Translationの略称でIPアドレスを変換する技術です。 インターネットに接続する際にプライベートIPアドレスをグローバルIPアドレスに変換します。
詳細設計(内部設計)(インフラ)
【初心者用】ifconfigの出力結果の見方
Linuxシステムでネットワーク設定や情報を確認するための基本的なコマンドの1つがifconfigです。この記事では、初心者向けにifconfigコマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)