デザインパターンを踏襲した決済機能の開発
Docker環境を取り扱うためのAWS環境のセットアップ手順と、AWS環境へのデプロイを実施し、その構成の学習を目的とします。最終目標としてDocker環境をサーバにデプロイし、本運用を見越したDocker環境でのリリースを実施します。■環境 ・Windows 10 ・VSC version 1.83.1 ・Docker Desktop ・AWS
その他(PG/バックエンド)
【初心者向け】ソフトウェア7原則について
テストを実行にあたって覚えておきたい項目にソフトウェアテストの7原則というものがあります。ソフトウェアテストの7原則とは、『ソフトウェアテストの7原則』とはISTQBテスト技術者資格制度 Foundation Level シラバス(以下シラバスとする)に記載されている、ソフトウェアテストを行う上で共通して理解しておく必要がある一般的なガイドラインです。テスト技術者資格制度 Foundation Level シラバス Version 2018V3.1.J03 (PDF)シラバスに記載のあるテストの7原則を解説します。
初心者
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ユースケーステスト
ユースケース(use case)テストとは、システム開発要件や機能仕様などのテスト対象に対して利用者サイドから想定しうるテスト対象の使用状況や相互の作用をユースケースとしてシナリオを想定することで、対象の利用に際して問題がないかを主軸にしてテストを行う手法です。シナリオを想定してテストを行うため、シナリオテストと混同されやすいですが、シナリオテストと比較してテスト対象や目的やテストの粒度など違う部分があるので、ユースケーステストとシナリオテストはそれぞれ別の手法として、実施するテストケースに応じて使い分けが必要です。シナリオテストは主に特定の機能や操作の流れを一連のシナリオとしてテストするもので、対象となる仕様や要件のみならず、ストーリーとして関連が想定される動作や異常系処理などもテストスコープに含むため、ユーザーサイドの視点で対象に対して詳細なテストを実施しますが、ユースケーステストは、あくまで対象となる仕様や要件から想定されうるユーザーストーリーをテスト対象とする前提で、シナリオテストよりもテストスコープは狭くなると想定されます。また、記事内にて後述しますが、ユースケース図を用いていることもユースケーステストの特徴であり、シナリオを順序立てる記述形式はシナリオテストもユースケーステストも同様ですが、テストケースの整理や共有の方法によってテストケース自体をレビューできるため、静的テストのアプローチがしやすいテスト技法です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】シナリオテスト
シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。
テスト(運用・保守・サポート)
JavaScriptの進化と現在の重要性 - Node.jsの役割
はるか昔、インターネットがこの世に広まり始めたころ、私はHTMLを書いていました。そしてjavascriptと出会い、時代とともに様々な変遷を経験してきました。そのたびに思ったことが、「今この技術は必要なのか?」でした。今回は、今すでに広く受け入れられている、Node.jsについて学んでいきたいと思います。
製造・コーディング(PG/バックエンド)
【初心者用】CakePHPを学んでいこう⑧(APIその2)
前回はCakePHPでTwitterAPIを使用し、ツイートを取得して画面に表示する方法を紹介しました。 今回は実際にCakePHPで、JSONデータを返却するAPI処理をご紹介いたします。
製造・コーディング(PG/バックエンド)
ICT支援員への道
近年、学校教育においてICT利活用を推進する動きが広がっています。その最たるものがGIGAスクール構想です。GIGAスクール構想とは、義務教育を受ける児童・生徒に対して1人1台端末と高速大容量の通信ネットワークを一体的に整備し、ICTを活用した創造性や思考力を育成する教育を行い、個別最適化された学びを提供しようとする、教育改革案のことです。新型コロナウイルスの流行もあり、当初の計画よりもスケジュールを前倒しして整備が進められ、令和3年7月末時点で全自治体における96.2%の自治体で端末が整備されている状態です。現状、整備された機器の設置準備や障害発生時の対応、機器を活用した授業の構想・改善は多くの場合教員が行っていますが、昨今はほとんどの教員が残業時間月45時間を超えている事が問題となるなど教員の負担が増しており、教員として勤務しながらICTを活用した教育活動に対する理解を深めていくことは難しい状況であると言えます。そこで、学校内で教員に代わり、学校ICTの専門家として配置が進められているのがICT支援員です。
その他(運用・保守・サポート)
イチから学ぶデータベース・SQL(2)
イチから学ぶデータベース・SQL(1)ではデータベースについて、から始まりデータベースの作成や、データベースにデータを追加したりデータを検索したりと、基本的なデータベースとSQL文について学びました。 それらを糧に今回はより深くSQLについて学習し、それを分かりやすいように説明していきます。
製造・コーディング(インフラ)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
学習・スキル2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
ECUとはなにか、まとめてみた
ECUとは、車載ECUにおける「ECU」とは、Electronic Control Unit(エレクトロニックコントロールユニット)の略称で、車両のあらゆるシステムを制御する装置の総称です。主にライトやドア、キーレスエントリーシステムなどの車両のボディに関する分野からブレーキ、エンジン、ステアリングなどの制御、オーディオやナビ、GPSなどの情報に関わる分野などもECUが用いられています。現在市販されている自動車には、およそ100個以上ものECUが搭載されており、さらにはハイブリッド車や電気自動車などの環境に対応した最新の自動車にもECUがなくてはならないものとなっています。自動車に関連するECUという用語は、Engine Control Unit(エンジンコントロールユニット)として捉えられることもあります。エンジンコントロールユニットとは、エンジンにおける運転制御を電子的に行うためのマイクロコンピューターのことです。現在ではエンジン制御だけでなく、自動車のあらゆる分野で役割を担っていることから、総称としてElectronic Control Unit(エレクトロニックコントロールユニット)として扱われています。なお、エンジンコントロールユニットの呼び名であり、自動車技術者協会(SAE)および国際標準化機構(ISO)で定義されているものは、ECM(Engine Control Module)と呼ばれます。車載ECUは、自動車に装備されているあらゆる機器やシステムを制御します。この働きによって、エンジン性能の向上や燃費の低減、排出ガスのクリーン化、運転性(ドライバビリティ)の向上などを目指すのが、ECU搭載の目的です。自動車業界の大きな変革期である今、世界中の各自動車メーカーは自社が誇る最新技術を用いて自動車の環境性能や快適性能、安全性能の向上に力を注いでいます。自動運転技術など、これからの自動車においてさまざまな最新機能の司令塔を担うECUは今後の技術発展において必要不可欠なものになっています。
開発環境関連(PG/フロントエンド)
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
Git GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
【初心者向け】Packet Tracerでネットワークを学ぶ(インストール編)
ネットワークエンジニアとしてCisco社のルータやスイッチの運用業務を遂行するには、 コマンドの知識やどのように機器が通信させているかよく理解しておく必要があります。 またCCNAといったネットワークのベンダー資格でも実際にコマンドを記述するシミュレーション問題が出題されることもあるので、自身のネットワークスキル向上には日頃からコマンド操作に慣れておく必要があります。 知識を定着や操作の慣れには座学だけでなく実際に機器に触れコマンドを入力し結果を確認することが一番なのですが、ルータやスイッチ等のネットワーク機器はいずれも高額であり、中古でもそれなりの値段となるので初心者が自宅に環境を作成することは簡単ではありません。 そこでCisco社のルータやスイッチに簡単に機器の設定、環境の構築、コマンドの投入練習といったことができるアプリケーションが「Packet Tracer」となります。
詳細設計(内部設計)(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(ルーティング①)
ルータとはルーティングを行う機器です。 ルーティングとはデータの転送を行う際にルーティングテーブルを参照して経路を判断し転送することです。
詳細設計(内部設計)(インフラ)
