【ソフトウェアテスト】ソフトウェアテスト関連で耳にするJSTQBとは何か
JSTQBやJSTQB関連資格について、QAやテストといった役割で業務にあたる方のみならず、ソフトウェア開発現場に就業されている各役割の方々(開発エンジニアやPL/PMの方等)にとっても業務に活用できる部分があると思うので、そもそもJSTQBとは何なのかというところを記載していきます。
テスト(運用・保守・サポート)
組み込み開発とは?C言語からJavaまで!その種類や特徴を解説
組み込み開発では、ハードウェアと密接に連携するプログラミング言語を使って、限られたリソースの中で高いパフォーマンスを発揮するシステムを作ることができます。組み込み開発には、ハードウェアとソフトウェアの両方の知識やスキルが必要であり、近年ではIoTやウェアラブルデバイスなどの普及により市場のニーズが再び高まっています。この記事では、組み込み開発とはなにか?その特徴やプログラミング言語の種類、メリット・デメリットについて解説していきます。
初心者
【テストの種類】結合テスト
結合テストとは、システム開発におけるテスト手法の1つです。システム開発では、結合テストの他に単体、機能、システムテストなどがあり、開発工程によって実施するテストが異なります。結合テストは複数のプログラムやモジュールを同時に稼働して行う動作テストで、モジュール同士を結合した際に意図した通りに動作するかの検証を行います。結合テストは、事前にテスト仕様書を作成し、テスト項目を決めてからテストを行います。結合テストの項目は前段階の単体テストが全て完了していることが前提となります。結合テスト前に行う単体テストは、個々の機能やモジュールが単体で動作するかを検証するテストになります。単体テストで行ったテスト項目は結合テストでは殆ど行わないか、簡易的に確認することが一般的です。結合テストでは、ただ動作するかのテストを行うのではなく操作と機能動作の組み合わせが正しいか、仕様書通りに機能しているかについても検証します。単体テストによって個々で正しく動作することが確認された機能やモジュールを対象とし、機能間の連携や一連の機能が仕様書通りに正しく動作するのかを確認します。
初心者
【ソフトウェアテスト】テスト技法の有用性
世に存在するさまざまなソフトウェアテスト技法について、自身のナレッジ整理もかねて詳細をまとめようと思いました。ですが、いろいろなプロジェクトで開発エンジニア・PdM・PM・QAなどさまざまな方と関わらせていただく中で、QAテスター/テストエンジニア等のポジションの方以外には、ソフトウェアテストに技法が存在するということや、テスト技法を用いる意味とメリットについてあまり認識されていないかも知れないと思いました。まずはソフトウェア開発現場でソフトウェアテスト技法を用いたテストを実施することの理由などについてまとめます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】同値分割法/境界値分析
入力されるデータによって判定を変えるという機能は、ソフトウェアの機能として広く一般的に使われます。自己責任で金銭を扱うサービスを利用する際には、18歳以上か未満かで利用の可不可を判定するという年齢確認機能が適用されていることがあります。ユーザーが任意にパスワードを設定できる機能の場合は、文字数が想定より少ない場合はセキュリティレベルが低いため無効として、文字数が想定より多い場合も仕様想定外として無効とするシステムもあります。こういった機能を対象に検証を実施する際、入力可能な数値を全て検証対象としてテストを実施しようとすると、非常に多くの工数を割かねばならないため、入力想定範囲の中で同じ処理を返す想定の数値は1つのグループとして扱い、処理の変わる境目に狙いを付けてテストするというのが、「同値分割法」と「境界値分析」です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ドメイン分析テスト
同値分割法/境界値分析については他の記事で記載しましたが、ドメイン分析テストも境界値を用いてテストします。このテスト方法は、関係性のある複数の変数について、入力データの有効範囲にフォーカスしてテストをする手法です。同値分割法/境界値分析では、一つの機能に関して境界がいくつか設定されていて、各境界の前後でそれぞれ動作が変わるような仕様に対してパーティションを分けてテストしていましたが、そのような数値による境界をもつ機能がいくつか関連して複数結果に分かれるような仕様のケースでは、ドメイン分析テスト技法が使用できます。ゲームのダメージ計算式で、与えた最終ダメージ数値に応じてクリティカル倍率をかけた数値を上乗せするといった場合に、元となるダメージ数値がいくつか、相手の防御数値がいくつか、数値いくつ以上でクリティカル倍率は何倍が適用されるか、各数値には有効・無効となる境界があり、かつ最終の数値ごとに複数のクリティカル倍率が用意されているといった仕様があったときに、ドメイン分析テストによって必要なテストケースを洗い出すことができます。
テスト(運用・保守・サポート)
Python基本文法3
グローバル(global)宣言・グローバル変数とは、関数内でグローバル変数にアクセスするための宣言です。ローカル変数(関数定義の内部で定義した関数)とグローバル変数(関数定義の外側で定義した変数)があります。glb = 0def func1(): glb = 1def func2(): global glb glb = 5print(glb) # 0が出力されるfunc1()print(glb) # 0が出力されるfunc2()print(glb) # 5が出力される
初心者
【初心者向け】様々なシステム開発手法
システム開発には作成するサービスやプロジェクトによって適切な開発手法がいくつかあります。今回はシステム開発の手法を数種類紹介して、それぞれの特徴や、メリット、デメリットを紹介します。下記が主な開発手法の一覧になります。 ・ウォーターフォール型開発 ・アジャイル型開発 ・プロトタイプ型開発 ・スパイラル型開発 ・DevOps(デブオプス) ・リーン開発では次からそれぞれの開発手法の特徴とメリット、デメリットを紹介します。
初心者
【QA】テストケースの書き方
システム開発における評価・検証では評価する為の状態や手順、そして確認するべき期待結果等の情報をまとめたテストケースを事前に作成することになります。しかしテストケースの書き方が不十分であると他の実施者がそれを見た時はもちろん、テストケースを作成した本人でもいざ評価をする際にテストケースに書かれた情報を正しく読み取ることが出来ない可能性があります。良質なテストケースは"誰が実施しても同じ期待値を得られる"ということです。本稿ではそのために意識するべきことをまとめていきます。
初心者
【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ②
QC7つ道具は、主に生産現場における各種数値を元に品質やリスクなどを分析して、品質管理を進める手法でしたが、品質管理に関わる問題は定量的分析のみでは対応しきれないようなものもあります。「【ソフトウェアテスト】欠陥分析手法について」記事でも触れているとおり、統計的分析は定量的解析手法で対応可能ですが、問題の要因に対してアプローチしようと考えた場合に、あらゆる要因が数値化できるのであれば定量的分析手法を用いれば解決できますが、数値化が困難であったり、集計して数値化して分析すると考えた場合に非常に手間がかかるような要-因に対しては、定性的な分析手法が必要になります。また、生産活動そのもののみではなく、プロジェクト全体の管理もQC活動、品質管理活動で対応すべき事象です。プロジェクト進行における問題点の可視化や共有に際して、数値データではない文字データや言語データでの集計管理をして、そうした定性的データを共通化された手法を用いて分析することにより、どのような生産現場でどのようなスキルの人が品質管理対応をする想定になったとしても、ある程度容易に対応できるように作成された手法のなかでも代表的な7つの手法が、新QC7つ道具(N7)として分類されています。英語ではNew Quality Control – 7 Tools等と呼ばれます。
テスト(運用・保守・サポート)
【QA】不具合を発見した時
ソフトウェアやその機能についてテストを行った場合、何かしらの不具合を発見することがあります。実施者は発見した不具合が市場への流出するのを防ぐ最初の防衛ラインとなります。では実際に不具合を発見した場合、実施者はどう不具合報告をすればよいか。※開発チーム所属するQA担当であることを想定した内容となります。プロジェクトによって不具合を報告する際のルールは様々なため、この限りではないことを留意してください。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
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ツールの概要と選び方について解説します。
学習・スキル