Javaの文法まとめ
今日はJavaの文法についてのまとめを紹介したいと思います。この記事では、初心者から上級者まで幅広く対象となるように、Javaの基本的な文法を詳しく解説していきます。Javaを学びたい方はぜひ参考にしてください。
製造・コーディング(PG/バックエンド)
【ソフトウェアテスト】同値分割法/境界値分析
入力されるデータによって判定を変えるという機能は、ソフトウェアの機能として広く一般的に使われます。自己責任で金銭を扱うサービスを利用する際には、18歳以上か未満かで利用の可不可を判定するという年齢確認機能が適用されていることがあります。ユーザーが任意にパスワードを設定できる機能の場合は、文字数が想定より少ない場合はセキュリティレベルが低いため無効として、文字数が想定より多い場合も仕様想定外として無効とするシステムもあります。こういった機能を対象に検証を実施する際、入力可能な数値を全て検証対象としてテストを実施しようとすると、非常に多くの工数を割かねばならないため、入力想定範囲の中で同じ処理を返す想定の数値は1つのグループとして扱い、処理の変わる境目に狙いを付けてテストするというのが、「同値分割法」と「境界値分析」です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ドメイン分析テスト
同値分割法/境界値分析については他の記事で記載しましたが、ドメイン分析テストも境界値を用いてテストします。このテスト方法は、関係性のある複数の変数について、入力データの有効範囲にフォーカスしてテストをする手法です。同値分割法/境界値分析では、一つの機能に関して境界がいくつか設定されていて、各境界の前後でそれぞれ動作が変わるような仕様に対してパーティションを分けてテストしていましたが、そのような数値による境界をもつ機能がいくつか関連して複数結果に分かれるような仕様のケースでは、ドメイン分析テスト技法が使用できます。ゲームのダメージ計算式で、与えた最終ダメージ数値に応じてクリティカル倍率をかけた数値を上乗せするといった場合に、元となるダメージ数値がいくつか、相手の防御数値がいくつか、数値いくつ以上でクリティカル倍率は何倍が適用されるか、各数値には有効・無効となる境界があり、かつ最終の数値ごとに複数のクリティカル倍率が用意されているといった仕様があったときに、ドメイン分析テストによって必要なテストケースを洗い出すことができます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】クラシフィケーションツリー技法
クラシフィケーションツリー技法は主に、複数のテスト対象と各対象の値が複数関連する状況で、各対象を木構造で図示することで、テスト対象の機能や状態を階層的に分類し、その組み合わせや変数いくつ分を対象とするか等の組み合わせの強度について、整理検討するときに用いる技法です。ドメイン分析テスト技法の際には、複数の境界値による動作変化の関連性と、その組み合わせで想定される複数パターンの網羅を表形式で表現する方法を取りましたが、クラシフィケーションツリー技法では、1つの機能に関わる複数の要素、各要素に想定される複数パターン、各パターンで想定される変数のパターンと、想定される内容を木構造の図で上から下へ記載して整理する方法を取ります。ブラウザベースでWebサイトを作成して、ウィンドウの表示サイズをPCサイズのレイアウトとスマホサイズのレイアウトで2パターン適用するとして、PCサイズレイアウトが正常に適用されているかを確認するときのテストスコープについて、ブラウザは[GoogleChrome][MicrosoftEdge][Firefox][Safari]をテスト対象と仮定し、各ブラウザのサイズや文字サイズ設定を変更しても問題ないか、さらに設定するウィンドウサイズは想定の最小値・最大値・全画面のパターンで、文字サイズは通常から何%拡大を対象とするかなどを考慮し、どの組み合わせでのテストを必要とするかを検討するといったような場合には、当該技法を用いることで視覚的に情報を整理しやすくなります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】直交表/ペアワイズ法 ②
直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。
テスト(運用・保守・サポート)
DX化を加速させるローコード開発とは?
昨今、様々な外的要因により企業をとりまくビジネス環境の変化が大きく加速しています。 これまでと比べて、より柔軟に、よりスピード感を持った迅速な対応が求められる時代になってきているのではないでしょうか。 そんな中、企業のあらゆるニーズに応え、ITをビジネスの成果に直結させる手段としてここ数年で「ローコード開発」というシステム開発の手法が注目されています。 今回の記事では、ローコード開発とはどのようなものなのか、従来の開発手法との違いやメリット・デメリットなどと併せて紹介していこうと思います。
製造・コーディング(PG/バックエンド)
【Swift】Cloud FireStoreを使ったサンプルアプリを作ってみる【Firebase】【iOS】
Firebaseでチャットのようなリアルタイム更新が必要なアプリを作るには、Realtime Databaseを使う必要が有ると思っていました。公式のドキュメントを読んでいると、Cloud FirestoreとRealtime Databaseの比較についての記事がありまして、どちらもリアルタイム更新が実現できると記載がありました。簡単に調べた限りだと料金プラン的にもFirestoreを使ったほうがコストを抑えることができるようです。今回はこのCloud Firestoreを使って、リアルタイム更新、データの追加、取得、削除を行うサンプルを作ってみます。環境・MacOS Ventura 13.0・Xcode 14.2・Swift version 5.7.2
製造・コーディング(PG/フロントエンド)
データ分析に使用されるR言語の基礎構文をまとめてみた
R言語は、統計解析やデータ分析に特化したプログラミング言語であり、初心者でも比較的簡単に学ぶことができます。今回はR言語の初心者向けにR言語の基礎を紹介しようと思います。
製造・コーディング(PG/バックエンド)
人気のJavaScriptフレームワークNext.jsを解説|ほぼReactの進化版
今回は、Webアプリケーション開発に使われるNext.jsについて、実践形式で解説していきます。Next.jsはReact.jsをベースにしており、React.jsを学んだ人にとっては、比較的学びやすいとされています。では、早速Next.jsの基本的な使い方から見ていきましょう。
製造・コーディング(PG/バックエンド)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
【初心者用】SQL インデックスとビューについてまとめてみた
参考サイト https://style.potepan.com/articles/25208.html SQLのインデックスとは? 作成、確認、削除方法からメリットまで解説! https://medium-company.com/sql-index/ SQL インデックス(INDEX)を作成・削除する http://dbonline.s25.xrea.com/sqlite/index/index3.html UNIQUEインデックス https://www.sejuku.net/blog/52356 SQL入門 PRIMARY KEY(主キー)制約とは? 追加や削除についても解説 https://style.potepan.com/articles/26878.html SQL 主キー(PRIMARY KEY)制約って何? サンプルコードで基本的な使い方を確認しよう! https://smallit.co.jp/blog/a1015/ BLOG SQLのビューについて https://products.sint.co.jp/siob/blog/view ビューとは? 使い方を解説 https://style.potepan.com/articles/25504.html SQLのビューって何? 基本的な使い方を理解しよう https://cs.wingarc.com/manual/drsum/5.5/ja/UUID-3b6e70a4-5a0d-205e-4b2b-fcb2df959cfd.html ALTER VIEW ビューの定義を変更する
製造・コーディング(SE)
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
オブジェクト指向プログラミングとは?その特徴と代表的な言語を紹介
プログラミングというと、難しくて理解しにくいものと思われがちですが、実は私たちの身の回りにあるものや現象をモデル化して表現する方法の一つです。プログラミングにはさまざまな種類や手法がありますが、その中でも最も一般的で人気の高いものがオブジェクト指向プログラミングです。では、オブジェクト指向プログラミングとは、どのようなものなのでしょうか?また、どのような特徴やメリットがあるのでしょうか?この記事では、オブジェクト指向プログラミングの基礎と特徴、そして代表的な言語を紹介します。
【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
【必読】ネットワークエンジニアのスキルアップに必要な基礎知識
ネットワークエンジニアとは、情報通信技術においてネットワークを設計、構築、保守・運用する専門家のことを指します。ネットワークエンジニアは、企業や組織のネットワーク環境を最適化し、円滑な通信とデータの流れを実現する役割を担っています。本記事では、ネットワークエンジニアの仕事内容と必要なスキルについて解説します。
