【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【QA】不具合を発見した時
ソフトウェアやその機能についてテストを行った場合、何かしらの不具合を発見することがあります。実施者は発見した不具合が市場への流出するのを防ぐ最初の防衛ラインとなります。では実際に不具合を発見した場合、実施者はどう不具合報告をすればよいか。※開発チーム所属するQA担当であることを想定した内容となります。プロジェクトによって不具合を報告する際のルールは様々なため、この限りではないことを留意してください。
SOAPについて知ろう
皆様、SOAPというワードを耳にしたことはありますか。私はこの記事を作成する前まで恥ずかしながら知りませんでした。今回はSOAPについてどういったものなのか調べてまとめてみました。
【初心者用】Swingについて勉強したのでまとめてみた 第一回
Swing とは、 Java の GUI (グラフィカルユーザーインターフェース)を構築するためのフレームワークです。Swing は OS の GUI 画面を構成する部品に頼らずに独自に 画面を構成しているので、 実行環境の違いがなく、さらに実行環境で用意されている以上の 画面構成が利用可能となります。その反面、OS に元々備わっている画面の構成ではなくなるために動作速度が遅いなどの欠点があります。しかしながら、近年のハードウェアの進化などに伴い、動作速度の問題は大きなものではなくなってきていると言われています。そもそもJavaのGUIフレームワークとして最初に提供されたのはAWT(Abstract Windows Toolkit)ですが、AWTではテキストボックスやボタンなどのウィンドウ画面を構成する部品はOSの機能を利用していたため、Peerが処理を行っていました。こうしたPeerベースの構成となると、OSによって若干動作が異なったり、OSの不具合がJavaで作成したアプリケーションにも現れるなどの問題が発生することがあり、「一度書いたらどこでも同じように動く」と言うJavaの基本と若干の相違が生まれたため、Peerに頼らないアーキテクチャとしてSwingが生まれました。
【QA】今更聞けない3つのテスト工程
ソフトウェアや機能の評価にはいくつかの工程があり、それぞれ異なる範囲と粒度でシステムを評価する目的があります。しかしシステム開発の現場によってはローカルなテスト名が運用されることが多く、自分が具体的にどの工程のテストに触れてきたのか曖昧にしか把握していない方も少なくないのではないでしょうか。様々な種別のテストがどういう目的で行われているのかを知ることで、プロジェクトにおける評価工程の在り方を理解していきましょう。
Ubuntuについて知ろう
Ubuntuを皆さんご存じでしょうか。Ubuntuとはなにか、コマンドはどういったものがあるのかを調査してまとめました。
Angularについて基礎知識を学ぶ
Angularという言葉を最近耳にすることが多くあります。私自身これまでAngularの開発に携わったことがないため、この記事作成を通してAngularとはどういったものなのか、基礎知識を学んでいきたいと考えてます。
Reactについて基礎知識を学ぶ
Reactについて皆さんは耳にしたことはありますか。Reactはよく比較されるVue.jsやAngularと同様人気が高くあります。ほかとどう違うのか、Reactの特徴とは何か。そういった内容を調査し、今回の記事作成を通してReactの基礎知識を学んでいこうと考えています。
【通信プロトコル】SSL/TLSについて
みなさんは、httpやhttpsなどをよく目にすると思います。このhttpやhttpsのことをプロトコルといいます。今回はそのプロトコルについて解説するのですが、プロトコルにはかなり沢山の種類があります。その中で「SSL/TLS」について、本日はご紹介していきます。プロトコルとは何かというところから、この「SSL/TLS」がどういった場面で使用されているのかを具体例をあげながら紹介していきます。
便利なMyBatisについて知ろう
皆さんはMyBatisについて耳にしたことはありますか。私自身MyBatisを軽く触ったことがある程度でしたが学習コストが少なく、便利なフレームワークだと感じました。今回はその便利なMyBatisについて記事作成を通して、読んだ方が基礎知識を学べていただけたらと考えています。
Thymeleafについて学ぼう
皆さんはThymeleafについて耳にしたことはありますか。Javaの代表的なテンプレートエンジンでとても便利です。Thymeleafとはなにか、どういったメリットやデメリットがあるのかをこの記事作成を通して学んでいきたいと考えています。
【初心者向け】ソースファイルの分割について
プログラム言語について学習していると、実際にコードを書くことが多くなると思います。最初の方は簡単で短いコードを書いて練習をしていくと思いますが、慣れてくると、長いコードや簡単なシステムを作ることが増えていくと思います。その際に、一つのソースファイルの中で処理を書いていくと思いますが、100〜1000行ほどになっていくとエラーが出た際にどこでエラーが出たのか、どこでどういった処理をしているのか探すのが大変になります。その時に必要になってくるのが、ソースファイルを分割するということです。ソースファイルだけではなく、プロジェクトを分割することもあります。このようにソースファイルやプロジェクトファイルを分割することのメリットが多くあるので、今回はソースファイルを分ける方法の一例を提示しながら、メリットを解説していきたいと思います。
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【パート3】ChatGPTをデスクトップ上から使えるようにデスクトップアプリ化してみた|Node.js & Electron
前回はデスクトップアプリ化したChatGPTを、ショートカットキーで開ける様にできました。ですが、まだまだターミナルから実行する必要があったり、大文字のPを打とうとすると起動してしまったり、不完全な部分が目立ちますね。今回はそんな部分を改善し、更に実用レベルまで近付けていきたいと思います。
【IT転職】JavaのスキルアップにはJava Silverがおすすめ!資格の概要や取得のメリットを解説します!!
Javaプログラマへの転職やJavaのスキルアップを考え、Java学習に励む方が多いと思いますが、中には具体的に何を目標にするのか悩む方も多いかと思います。そんな方に向けて、本記事ではJavaのスキルを証明することができる資格「Java Silver」を紹介し、Javaスキルアップの目標としてJava Silverがおすすめな理由を解説していきます。ぜひ参考にしてくださいね。
ITパスポート試験過去問例
ITパスポート試験は、数種類ある情報処理技術者試験の中で、もっとも初級の入口にあたる試験です。ちなみにお題目は「ITに携わる人職業人として誰もが共通に備えておくべき基礎的な知識をはかる」というものです。パソコンが広く活用されるようになった現代では、是非ともおさえておきたい基礎知識だといえます。といっても、相変わらずITといえば慣れない人にはチンプンカンプンな横文字専門用語が目白押し。そのためにも試験では、「まず解説書を一冊完読して、用語や計算になれること」が欠かせません。本記事では、初心者向けにITパスポートの特徴や過去問に触れていきたいと思います。
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
インフラエンジニア向け!Shellスクリプトの種類とその魅力
インフラエンジニアの道を歩み始めたばかりの皆さん、シェルスクリプトという言葉をすでに耳にされたでしょうか。シェルスクリプトは、システムやネットワークの設定、管理、自動化など、インフラの様々なタスクを効率よくこなすための強力なツールです。しかし、その機能や種類について深く知らない方も少なくないでしょう。本記事では、シェルとシェルスクリプトの基本的な概念から、主なシェルの種類(sh系とcsh系)、シェルスクリプトで実現できるタスク、そしてシェルスクリプトの重要性について詳細に解説します。また、シェルスクリプトの学習を通じて、自身の技術力向上やキャリア発展にどう寄与できるかについても触れます。シェルスクリプトの知識が浅い方、さらに深い理解を求めている方、ぜひ本記事を参考にして、スキルのブラッシュアップを図ってください。
AADとAADCについて
Azure Active Directory(以下Azure AD)とは、Microsoftが提供するクラウドベースで「認証」と「許可」を一元管理するサービスです。Azure ADで認証を行えば、連携しているシステムにログインなしでアクセスできるようになります。Azureアカウントで、他のクラウドサービスが利用できます。例:Dropbox、Slackなど
その他(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(インストール編)
ネットワークエンジニアとしてCisco社のルータやスイッチの運用業務を遂行するには、 コマンドの知識やどのように機器が通信させているかよく理解しておく必要があります。 またCCNAといったネットワークのベンダー資格でも実際にコマンドを記述するシミュレーション問題が出題されることもあるので、自身のネットワークスキル向上には日頃からコマンド操作に慣れておく必要があります。 知識を定着や操作の慣れには座学だけでなく実際に機器に触れコマンドを入力し結果を確認することが一番なのですが、ルータやスイッチ等のネットワーク機器はいずれも高額であり、中古でもそれなりの値段となるので初心者が自宅に環境を作成することは簡単ではありません。 そこでCisco社のルータやスイッチに簡単に機器の設定、環境の構築、コマンドの投入練習といったことができるアプリケーションが「Packet Tracer」となります。
詳細設計(内部設計)(インフラ)
【初心者用】ProCとは
今度の案件でデータベースの操作関係で、Pro*Cを使用することになりそうなので今回学んでみようと思います。
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
