CIとは何か?代表的なCIツールの特徴とメリット・デメリットを解説
CIとは、開発者がコードを頻繁に統合し、自動的にテストやビルドを行うことで、品質や効率を向上させる手法です。 CIを実現するためには、CIツールと呼ばれる専用のソフトウェアが必要です。 CIツールは、コードの変更を検知し、自動的にテストやビルドを実行し、結果を報告する機能を提供します。しかし、CIツールには様々な種類があり、それぞれに特徴やメリット・デメリットがあります。 では、どのようにしてCIツールを選ぶべきでしょうか? この記事では、代表的なCIツールの概要と選び方について解説します。
学習・スキル
組み込み開発とは?C言語からJavaまで!その種類や特徴を解説
組み込み開発では、ハードウェアと密接に連携するプログラミング言語を使って、限られたリソースの中で高いパフォーマンスを発揮するシステムを作ることができます。組み込み開発には、ハードウェアとソフトウェアの両方の知識やスキルが必要であり、近年ではIoTやウェアラブルデバイスなどの普及により市場のニーズが再び高まっています。この記事では、組み込み開発とはなにか?その特徴やプログラミング言語の種類、メリット・デメリットについて解説していきます。
初心者
【ソフトウェアテスト】直交表/ペアワイズ法 ②
直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】欠陥分析手法について
「【ソフトウェアテスト】不具合報告のインシデントレポートについて」記事で記載したとおり、インシデントはチケット作成して報告されたのち、内容を分析して対応をし、作成から完了に至るまで管理します。そうして蓄積されたインシデントレポートは、報告対応されたそのレポート自体が、以降で類似の現象を検出した際の資料として用いられる面もありますが、内容を分析することで、今後の開発品質向上を目指すための判断材料として活用することができます。いずれのインシデントレポートも、何かしら問題があったから作成されているものであり、問題点は解決した時点で完了とはせずに、内容を振り返って同じ轍を踏まないように以降の活動を随時改善していくことが肝要です。近年のアジャイル化が進んでいるプロジェクトなどの場合は、直近の開発内容に対するインシデントレポート単体を都度分析するような時間も設けられずに次々進んでいくことがありますが、プロジェクト全体としてインシデントレポートを統合管理し、アジャイル開発の各プロジェクト進行とは別途で機会を設けて、振り返りと共に不具合分析を行うことは、高品質な開発を目指す上で必要な活動です。ソフトウェア開発現場の現状として、プロジェクト形式もインシデントレポート形式もさまざまある状況なので、欠陥分析の手法もこれが絶対という唯一のものではなく、状況や期間などに合わせて必要な手法でアプローチをすべきです。統計的内容に基づく分析、インシデントごとの要因に基づく分析、その両面からの分析など、どのような面からアプローチするかによって用いる手法もさまざまあります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】シナリオテスト
シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
MongoDBを使用してNext.jsのWebアプリケーションを作成してみた
本記事では、MongoDBを使用したNext.jsのWEBアプリケーションの作成方法について解説します。MongoDBはNoSQLの一つで、柔軟なデータベース設計や高速なデータ処理が可能なため、Webアプリケーションの開発において人気があります。Next.jsはReactのフレームワークであり、サーバーサイドレンダリングをサポートしています。MongoDBとNext.jsを組み合わせることで、高速で柔軟性の高いWebアプリケーションを作成することができます。
製造・コーディング(PG/バックエンド)
【比較解説】機械学習とディープラーニングの違いとは?
機械学習とディープラーニングは、現代の人工知能の分野において重要な役割を果たしています。両者は密接に関連していますが、それぞれ異なるアプローチや特徴を持っています。この記事では、機械学習とディープラーニングの違いについて詳しく解説します。機械学習とディープラーニングの定義や特徴、それぞれの得意なことやデメリットについて理解していきましょう。
初心者
【初心者用】Prismaについて
Prismaは、データベース操作するためのORMです。Prismaを使用することで、データベースのスキーマを定義し、型安全なクエリを実行できます。また、Prismaは、Prisma Migrateと呼ばれるマイグレーションツールなどを提供しています。データベースのスキーマ変更に伴うマイグレーションを簡単に行うことができます。具体的には、prismaを使用することで、以下のようなことが可能です。 ・データベースのスキーマ定義 ・データのクエリ ・データの作成、更新、削除 ・データの関連付けPrismaは、Prisma Clientと呼ばれる型安全なクライアントライブラリも提供しています。これにより、SQLクエリを直接記述する必要がなくなります。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【初心者向け】Packet Tracerでネットワークを学ぶ(インストール編)
ネットワークエンジニアとしてCisco社のルータやスイッチの運用業務を遂行するには、 コマンドの知識やどのように機器が通信させているかよく理解しておく必要があります。 またCCNAといったネットワークのベンダー資格でも実際にコマンドを記述するシミュレーション問題が出題されることもあるので、自身のネットワークスキル向上には日頃からコマンド操作に慣れておく必要があります。 知識を定着や操作の慣れには座学だけでなく実際に機器に触れコマンドを入力し結果を確認することが一番なのですが、ルータやスイッチ等のネットワーク機器はいずれも高額であり、中古でもそれなりの値段となるので初心者が自宅に環境を作成することは簡単ではありません。 そこでCisco社のルータやスイッチに簡単に機器の設定、環境の構築、コマンドの投入練習といったことができるアプリケーションが「Packet Tracer」となります。
詳細設計(内部設計)(インフラ)
【初心者用】CakePHPを学んでいこう⑤(Validation)
前回はbakeコマンドの実行方法と、お問い合わせフォームの作成方法を紹介しました。 今回はバリデーション機能について、実装方法をご紹介いたします。
製造・コーディング(PG/バックエンド)
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【初心者用】CakePHPを学んでいこう⑩(プラグイン)
前回はバッチ処理について、CakePHPでのバッチ処理の作成方法について紹介しました。今回はプラグインとは何か、そしてCakePHPで実際にプラグインを使用する方法をご紹介いたします。
製造・コーディング(PG/バックエンド)
Git GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
【JSTQB(FL)対策】第6章テスト支援ツール
こちらの記事ではJSTQBのシラバスのうち、第6章テスト支援ツールにおける以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
テスト(運用・保守・サポート)
Flutterを使ってみよう その5(画面遷移等の制御)
前回の記事の続きです。今回は、画面遷移等の制御周りの知識を深めていきましょう。※ 用例で比較説明したほうがわかりよいため、SwiftUIの用例で比較したいため、SwiftUIで開発したことがあることが前提の記事です環境 ・MacOS Ventura 13.6.3 ・Xcode 15.1 ・VSCode 1.85.1 ・Flutter 3.16.5 ・Dart 3.2.3
製造・コーディング(PG/フロントエンド)
【初心者用】PowerBIで出来ることとは?
昨今の経営判断や意思決定には、データ分析が必要とされています。 データ分析や、データの可視化が注目される昨今、「Power BI」という言葉を耳にすることが多くなりましたが、皆様は「Power BI」という言葉をご存知でしょうか? 今回紹介するPower BIはBI(ビジネス・インテリジェンス)ツールとしてマイクロソフト社から提供されている製品の1つです。 BIツールとは、企業が蓄積しているデータを分析し、その結果から得られたデータをあらゆる活動(経営判断など)に生かすためのツールです。 データそのもの自体が蓄積されるデータベースとは違い、レポートを表示したり、データ分析に関する豊富な機能を持ったソフトウェアのことです。 BIツールは世の中に多く存在しますが、BIツールの中でも注目されているのが「セルフサービスBI」と呼ばれる種類のBIツールです。 セルフサービスBIとは、データ分析を行う作業のおおよそ半分以上の作業をBIツールが自動化するというもので、効率良くデータ分析を行うことが出来るということで注目されています。 ただし、セルフサービスだからといって誰でも簡単に扱えるというわけではありません。 セルフサービスBIは、業務部門が主体になってデータ分析を実行できるようにするためのものであるため、ある程度データ分析に関する知識と製品知識が必要となってきます。 今回紹介するPower BIは、このセルフサービスBIに分類される製品であり、一般的なITに関する知識があれば比較的簡単にデータ分析ができます。
製造・コーディング(PG/バックエンド)
ITパスポート試験過去問例2
ITパスポート試験の合格は、情報技術の基礎を理解し、一定のスキルを持つことを証明する素晴らしい手段です。ITパスポート試験に合格するために勉強していきたいと思います。本記事では、ITパスポート試験の過去問をピックアップしていきます。
初心者