Flutterを使ってみよう その6(画像表示 他)
前回の記事の続きです。今回は、今まで触れていない実装方法の知識を深めていきましょう。環境 ・MacOS Ventura 13.6.3 ・Xcode 15.1 ・VSCode 1.85.1 ・Flutter 3.16.5 ・Dart 3.2.3
製造・コーディング(PG/フロントエンド)
Vue.jsに触れよう3
本記事では、Windowsのメモ帳を使って、簡単なアプリを作っていきたいと思います。・作るアプリの説明 アプリ概要:おみくじ 使用したもの:PC(Windows11)、メモ帳 使用言語:Vue.js(htmlファイル)
学習・スキル
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ユースケーステスト
ユースケース(use case)テストとは、システム開発要件や機能仕様などのテスト対象に対して利用者サイドから想定しうるテスト対象の使用状況や相互の作用をユースケースとしてシナリオを想定することで、対象の利用に際して問題がないかを主軸にしてテストを行う手法です。シナリオを想定してテストを行うため、シナリオテストと混同されやすいですが、シナリオテストと比較してテスト対象や目的やテストの粒度など違う部分があるので、ユースケーステストとシナリオテストはそれぞれ別の手法として、実施するテストケースに応じて使い分けが必要です。シナリオテストは主に特定の機能や操作の流れを一連のシナリオとしてテストするもので、対象となる仕様や要件のみならず、ストーリーとして関連が想定される動作や異常系処理などもテストスコープに含むため、ユーザーサイドの視点で対象に対して詳細なテストを実施しますが、ユースケーステストは、あくまで対象となる仕様や要件から想定されうるユーザーストーリーをテスト対象とする前提で、シナリオテストよりもテストスコープは狭くなると想定されます。また、記事内にて後述しますが、ユースケース図を用いていることもユースケーステストの特徴であり、シナリオを順序立てる記述形式はシナリオテストもユースケーステストも同様ですが、テストケースの整理や共有の方法によってテストケース自体をレビューできるため、静的テストのアプローチがしやすいテスト技法です。
テスト(運用・保守・サポート)
【QA】テストケースの書き方
システム開発における評価・検証では評価する為の状態や手順、そして確認するべき期待結果等の情報をまとめたテストケースを事前に作成することになります。しかしテストケースの書き方が不十分であると他の実施者がそれを見た時はもちろん、テストケースを作成した本人でもいざ評価をする際にテストケースに書かれた情報を正しく読み取ることが出来ない可能性があります。良質なテストケースは"誰が実施しても同じ期待値を得られる"ということです。本稿ではそのために意識するべきことをまとめていきます。
初心者
【ソフトウェアテスト】シナリオテスト
シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。
テスト(運用・保守・サポート)
【QA】不具合を発見した時
ソフトウェアやその機能についてテストを行った場合、何かしらの不具合を発見することがあります。実施者は発見した不具合が市場への流出するのを防ぐ最初の防衛ラインとなります。では実際に不具合を発見した場合、実施者はどう不具合報告をすればよいか。※開発チーム所属するQA担当であることを想定した内容となります。プロジェクトによって不具合を報告する際のルールは様々なため、この限りではないことを留意してください。
初心者
【JSTQB(FL)対策】第3章静的テスト
こちらの記事ではJSTQBのシラバスのうち、第3章静的テスト分野における以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
ネットワークエンジニアの将来性と市場の需要 | キャリアアップに必要な3つの要素
企業のデジタル化が進む現代社会において、ネットワークエンジニアの仕事は、市場の高い需要と共に、その将来性も見込まれています。その一方で、ネットワーク技術は日々進化し、新たなセキュリティ課題も常に出現しており、これらの変化に対応するため、ネットワークエンジニアは自身のスキルを常にアップデートしたり、最新のインフラ知識が求められます。ネットワークエンジニアとして成功するためには、継続的な学習と新しい技術への適応、必要なスキルを身につけ、ネットワークエンジニアとしての価値を高めることが大切です。本記事では、ネットワークエンジニアとして求められる需要や将来性、そして長く活躍するために必要なスキルや知識について詳しく解説していきます。
キャリア
今後必ず需要が伸びるクラウドエンジニアについてご紹介!必要な知識もご紹介します
近年、自社でサーバーを持たずにクラウドサービスを利用してアプリケーションを構築する形態が多くなっております。その中で需要が増えてきているのがクラウドエンジニアとなります。クラウドエンジニアとは、ネット上のクラウドサービスを利用してシステムの構築や保守を行う、クラウドサービスに特化したエンジニアを指します。これまではサーバーやネットワークといったハードウェアを自社にて調達、設置したうえでアプリケーションを構築・運用する形態が一般的でした。これらはオンプレミス環境と呼ばれており、現在でも多くの環境がオンプレミス環境となっております。一方で最近ではクラウドサービスの導入を検討する企業が多くなっております。より多くの企業がクラウドサービスを採用するようになるため、クラウドエンジニアの需要は今後必ず伸びていきます。一方でクラウド技術も発展途上ということもありますが、クラウドサービスに長けたクラウドエンジニアもまだまだ少ないのが現状です。ネットワークエンジニアやサーバーエンジニアはクラウド化の進行に併せて、これまで培ってきたサーバーの構築知識やネットワーク技術を活かしながら、クラウドへの理解を深めることが求められるでしょう。そこで今回はクラウドエンジニアについてご紹介していきながら、必要となる知識についてもご紹介していきます。
学習・スキル
クラウドサービスについて
クラウドとは、クラウドコンピューティングの略で、ユーザーがサーバーやネットワークなどのインフラやソフトウェアを持たなくてもインターネットと介してサービスを受けることが可能になる仕組みです。自分のコンピューターにソフトウェアをインストールせず、ウェブブラウザなどを使ってシステムを利用します。ソフトウェアを動作させるITリソースやサービスはすべてクラウドベンダーが所有しており、ユーザーはそれらをインターネット経由で利用します。クラウドサービスでは、ソフトウェアの場所やデータ保管先はインターネット上の見えないところにあるので、システムの構成図を表す際に、雲(=クラウド)のマークを使っていたため、「クラウド」と呼ばれるようになったと言われています。
その他(インフラ)
クラウドサービスとセキュリティ対策
クラウドサービスにおけるセキュリティ対策について話していきます。近年、クラウドサービスを利用する企業が増加しています。利用する理由として、「資産、保守体制を社内に持つ必要がない」「場所、機器を選ばずに利用できる」「安定運用、可用性が高くなる」などの声があるようです。しかし、「セキュリティ面」での不安を抱えて、クラウドサービスを利用するのはためらうという声が多いのも事実です。安全にサービスを活用するために、サービス提供事業者を選ぶ際のポイントや、セキュリティ対策について紹介していきます。
その他(インフラ)
Java開発に必須のフレームワーク | Spring BootとSpringの違いを徹底解説!
Spring BootとSpringはどちらもJavaのWebアプリケーション開発に使われるフレームワークですが、それぞれに特徴やメリットがあります。この記事では、Spring BootとSpringの歴史や機能、使い方などを比較しながら、それぞれの違いを理解していきましょう。