【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【選び方ガイド】おすすめのスマホアプリ開発言語とその将来性
スマートフォンアプリの開発に取り組む際、適切なプログラミング言語を選ぶことが重要です。しかし、初めてのプロジェクトや多くの選択肢がある中で、どの言語を選ぶべきか悩むこともあるでしょう。本記事では、スマホアプリ開発における言語選びのポイントを解説します。
学習・スキル
校内LANを整備しよう
近年、教育の情報化推進に伴い、学校におけるICT環境を整備する必要性が高まっています。学校という特殊な環境では、どの様に整備が進められているのでしょうか。今回は校内LANの整備についてまとめてみました。
その他(その他お役立ち情報)
【初心者用】Javaの配列とコレクションクラスについて
Javaには、複数のデータをまとめる方法がいくつか存在します。 それは、「配列」と、「コレクションクラス」というものです。 今回は、 ・配列について ・コレクションクラスについて(具体例としてArrayListクラス) ・比較した際の特徴 について説明していきたいと思います。
製造・コーディング(PG/バックエンド)
【Python】条件分岐と繰り返し処理
今回は、Pythonの条件分岐と繰り返し処理についてまとめました。Pythonでプログラミングを行う際にかかせない知識となっています。ぜひ最後までお読みください!概要・if文・else, elif・and・or・not・while文・for文
製造・コーディング(PG/バックエンド)
Gitの使い方
ツールのアップデートが頻繁に行われているWEB業界では、Gitを活用して業務を効率化させることが一般的になってきています。しかし、初心者の方や業界に馴染みのない方は、Gitが何のことかわからない方もきっといらっしゃるでしょう。多くの開発者に利用されている印象のあるGitですが、実はエンジニアだけではなく、WEBデザイナーやライターにとっても便利なツールのひとつです。Gitを活用することで、チームでの作業効率を高めたり、多くのファイルを管理することが簡単になります。というわけで本記事では、Gitについて基本的な用語について解説いたします。
学習・スキル
【初心者用】SQL サブクエリについてまとめてみた
SQLのサブクエリ(副問い合わせ)について今回色々操作をしていく。 サブクエリを活用できることで、SQLの活用の幅が広がり、複雑なクエリを記述することができるため、少しずつ慣れていこう。 参考サイト https://style.potepan.com/articles/17593.html SQLの幅問い合わせ(サブクエリ)とは? 概要・種類・使い方を解説 https://hironimo.com/prog/sql/subquery/ SQLServer 副問い合わせ
製造・コーディング(SE)
【MySQL】実行計画を活用した速度改善
作成したプログラムの実行速度が単体テストのときは早かったのに、結合テストや本番では遅くなって問題になることがよくあると思います。今回はデータベースへのアクセス速度の問題を、実行計画を活用しながら解決する方法を簡単に説明いたします。説明はMySQLを対象としておりますが、基本的なところはどのDBMSでも同じと考えています。
初心者
タスク管理ツール、Redmineの使い方
Redmine(レッドマイン)とはオープンソースで公開されているプロジェクト管理ツールのことです。 プロジェクト管理ツールとは、チームで作業する場合の進捗状況やスケジュールを管理することを目的としており、システム開発などエンジニアの仕事においては必須のツールであります。 今は様々なプロジェクト管理ツールが存在していますが、数あるツールの中でもRedmineはオープンソースで自由度が高いという特徴を持っています。 Redmineはフランス人であるJean-Philippe Lang氏によって開発され、2006年に最初のバージョンがリリースされた、かなり歴史の古いプロジェクト管理ツールです。 オープンソースであるためGitHub上でソースコードが公開されており、様々なエンジニアが開発に参画していますしていることから、GitHubでは細かいアップデートが頻繁に行われています。 また、Redmineはオープンソースソフトウェアであるため、全ての機能を無料で使うことが可能です。個人利用としてプロジェクト管理ツールを使いたい場合にも心強いと言えるでしょう。
製造・コーディング(PG/バックエンド)
【テスト入門】エンジニア初心者が知っておくべきテストの基礎知識
現代のIT業界において、エンジニアは欠かせない存在となりました。その中でも、エンジニアとして働き始めたばかりの方々は、自分に足りていないスキルや知識を知り、成長していくことが重要です。今回は、そんなエンジニア初心者の方々に向けて、テストエンジニアについて詳しく解説します。
学習・スキル
【入門編】AWSとは何か?人気の理由まで解説
ITの業務に従事されている方や、インターネットやSNS等でIT関連の情報を収集されている方なら一度は聞いたことのある言葉の一つが、「AWS」ではないでしょうか? AWSとはアマゾンが提供するクラウドプラットフォームであり、正式名称はAmazon Web Service(アマゾンウェブサービス)です。 本記事では、AWSを使うと何ができるのか?なぜそんなに人気なのか?など、初心者の方が疑問に持つであろう部分を網羅的にまとめた記事となっております。 この記事を読むことで分かること ・AWSとは何かが理解できる ・AWSが人気な理由が分かる
製造・コーディング(PG/バックエンド)
Junit5でのテストコードの覚書
今日一日はまったので、覚書。Junit5Controller.java@Controllerpublic class Junit5Controller { @RequestMapping("/Junit5") public @ResponseBody String greeting() { return "Hello, World"; }}@SpringBootTest@AutoConfigureMockMvcclass Junit5ControllerTest { @Autowired private MockMvc mockMvc; @Test public void shouldReturnDefaultMessage() throws Exception { this.mockMvc.perform(get("/Junit5")).andDo(print()) .andExpect(content().string(containsString("Hello, World"))); }}@WebMvcTestではエラーが出る。
テスト(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コマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)