【初心者】Python
Pythonは、コードの記述が短くシンプルな言語で、初心者でも比較的容易に利用できます。一方で豊富な機能も備わっているため、科学技術分野をはじめ、幅広い分野で重宝されています。
初心者
【ソフトウェアテスト】ドメイン分析テスト
同値分割法/境界値分析については他の記事で記載しましたが、ドメイン分析テストも境界値を用いてテストします。このテスト方法は、関係性のある複数の変数について、入力データの有効範囲にフォーカスしてテストをする手法です。同値分割法/境界値分析では、一つの機能に関して境界がいくつか設定されていて、各境界の前後でそれぞれ動作が変わるような仕様に対してパーティションを分けてテストしていましたが、そのような数値による境界をもつ機能がいくつか関連して複数結果に分かれるような仕様のケースでは、ドメイン分析テスト技法が使用できます。ゲームのダメージ計算式で、与えた最終ダメージ数値に応じてクリティカル倍率をかけた数値を上乗せするといった場合に、元となるダメージ数値がいくつか、相手の防御数値がいくつか、数値いくつ以上でクリティカル倍率は何倍が適用されるか、各数値には有効・無効となる境界があり、かつ最終の数値ごとに複数のクリティカル倍率が用意されているといった仕様があったときに、ドメイン分析テストによって必要なテストケースを洗い出すことができます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】クラシフィケーションツリー技法
クラシフィケーションツリー技法は主に、複数のテスト対象と各対象の値が複数関連する状況で、各対象を木構造で図示することで、テスト対象の機能や状態を階層的に分類し、その組み合わせや変数いくつ分を対象とするか等の組み合わせの強度について、整理検討するときに用いる技法です。ドメイン分析テスト技法の際には、複数の境界値による動作変化の関連性と、その組み合わせで想定される複数パターンの網羅を表形式で表現する方法を取りましたが、クラシフィケーションツリー技法では、1つの機能に関わる複数の要素、各要素に想定される複数パターン、各パターンで想定される変数のパターンと、想定される内容を木構造の図で上から下へ記載して整理する方法を取ります。ブラウザベースでWebサイトを作成して、ウィンドウの表示サイズをPCサイズのレイアウトとスマホサイズのレイアウトで2パターン適用するとして、PCサイズレイアウトが正常に適用されているかを確認するときのテストスコープについて、ブラウザは[GoogleChrome][MicrosoftEdge][Firefox][Safari]をテスト対象と仮定し、各ブラウザのサイズや文字サイズ設定を変更しても問題ないか、さらに設定するウィンドウサイズは想定の最小値・最大値・全画面のパターンで、文字サイズは通常から何%拡大を対象とするかなどを考慮し、どの組み合わせでのテストを必要とするかを検討するといったような場合には、当該技法を用いることで視覚的に情報を整理しやすくなります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【まだ現役?】COBOLの現在と将来性
COBOL(Common Business-Oriented Language)は、主にビジネスアプリケーションの開発に使用されるプログラミング言語です。1959年に開発され、それ以来、経済、財務、および行政の分野で幅広く利用されてきました。COBOLは、大規模なデータ処理やトランザクション処理に特化しており、特に企業のバックエンドシステムで使用されることが一般的です。
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
Python基本文法3
グローバル(global)宣言・グローバル変数とは、関数内でグローバル変数にアクセスするための宣言です。ローカル変数(関数定義の内部で定義した関数)とグローバル変数(関数定義の外側で定義した変数)があります。glb = 0def func1(): glb = 1def func2(): global glb glb = 5print(glb) # 0が出力されるfunc1()print(glb) # 0が出力されるfunc2()print(glb) # 5が出力される
初心者
PythonでWebアプリケーションを作成するための備忘録
近年AIやディープラーニングの盛り上がりで注目されているPythonですが、特徴、できること、学習方法、Webアプリケーション構築に適しているのかを調べてみました。
初心者
【ソフトウェアテスト】直交表/ペアワイズ法 ②
直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
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ツールの概要と選び方について解説します。
学習・スキル