Pick up
もっと見るQAエンジニアについて
QAエンジニアは製品の動作確認やサービスの品質保証をミッションとした、テストやレビューなどをメインに行うエンジニアです。システムやアプリケーションが仕様に沿った動作をしていることをレビューやテストで確認し、開発者に問題点をフィードバックしてソフトウェアの品質を確保します。QAエンジニアのQAは、Quality Assuranceの頭文字で「品質保証」を表す言葉です。品質保証エンジニアとも呼ばれます。
初心者
【Java】コレクションフレームワークとジェネリクス
Javaの学習をしていき、ある程度の基本文法について知識がつくと次はコレクションフレームワークと、ジェネリクスについて学習することになると思います。今回は、コレクションフレームワークとジェネリクスについてどういった特徴があるのか、そして使用方法についてできるだけ分かりやすく解説していきます。
初心者
【Webサーバー】Nginxについて学ぼう
WebサーバーであるNginxついて皆さんご存じでしょうか。今回は数あるWebサーバーの中でNginxについて学んでいきたいと考えています。Nginxとはなにか、メリット・デメリットはなにかを調査してまとめてみました。
初心者
【初心者向け】MVCモデルとは
MVCモデルという言葉を聞いたことがあるという方はかなり多いと思います。システム開発手法の一つということだとわかる方は思います。ただどういった手法なのかが分からない方が多いと思います。今回はMVCモデルについて分かりやすく説明していきたいと思います。
初心者
【Webサーバー】Apacheについて学ぼう
WebサーバーであるApacheについて皆さんご存じでしょうか。今回は数あるWebサーバーの中でApacheについて学んでいきたいと考えています。Apacheとはなにか、メリット・デメリットはなにかを調査してまとめてみました。
初心者
【初心者向け】テスト自動化について
テスト自動化とは、人の手によって行われるソフトウェアテストの全体あるいは一部を自動化することを意味します。そもそもソフトウェアテストは、不具合を見つけることが目的です。そのため、テストを繰り返し行うことも増えています。テスト自動化によって、テストにかかる人的負担を減らし、将来的なコストの削減が期待できます。
初心者
【初心者向け】Dockerについて学ぼう
皆さんはDockerについてご存じでしょうか。この記事はDockerについて知らない人や名前だけは知っている程度の人や、環境として利用している程度の人を対象にどんなものなのか、どういったメリットやデメリットがあるのかを調査し、まとめてみました。
初心者
【Java】トランザクション処理について
「トランザクション処理」という言葉は基幹システムや、オンライン決済など、データの整合性と信頼性を必要とするシステムを開発する際に必ず耳にすると思います。必ず耳にするということは大事な処理であるということだというのはわかるはずです。ただ、どういった処理なのかぼんやりとしか分からない方もいると思います。私もその一人でしたので、今回は学習した内容をまとめると同時に分かりやすく「トランザクション処理」について解説していきたいと思います。
初心者
【Java】Lombokという便利なライブラリについて学ぼう
皆さんはJavaのライブラリであるLombokについてご存じでしょうか。私は開発業務で使用した経験がありますが、恥ずかしながらどういったライブラリなのか、あまり知らずに使用していました。Lombokとはなにか、メリット・デメリットはなにかをこの記事作成を通して調査し、まとめました。
初心者
【Java】文書の読込み・出力方法
システム開発をしていると、ファイル入出力の処理機能を実装する場合があると思います。ただ、初心者の方はファイル入出力とはどういうことなのか分からないと思う方もいると思うので、今回はファイル入出力とはどういうものか、どのような時に使うのか、どのように実装するのかを順に解説していきます。
初心者
【Java】ラムダ式のプログラミングを学ぼう
皆さんはラムダ式と呼ばれる文法についてご存じでしょうか。私は業務で少し使用した経験があります。たまにラムダ式を使用している開発業務を見かけることがありますが、そもそもラムダ式とはなにか、メリット・デメリットはなにかを記事作成を通して調査しまとめてみました。
初心者
【オブジェクト指向】オブジェクトの取り扱いについて
オブジェクト指向について学習する際に必ず、「オブジェクト」、「クラス」、「インスタンス」、「コンストラクタ」という言葉を耳にするとおもいます。ただ、概念的なものなのでかなり分かりにくく理解しにくいものになってます。今回は「オブジェクト」、「クラス」、「インスタンス」、「コンストラクタ」に特化して分かりやすく説明したいと思います。
初心者
【JavaScript】便利なVue.jsについて学ぼう
皆さんはVue.jsについてご存じでしょうか。Vue.jsは、JavaScriptを使ったアプリケーション開発を行うエンジニアから注目を集めている技術の一つです。Vue.jsとはなにか、メリット・デメリットはなにかをこの記事作成を通して調査しながら学んでいこうと考えています。
初心者
【デザインパターン】SingletonとFacadeについて
プログラミング言語について学習しているとオブジェクト指向を学ぶことが出てくると思います。オブジェクト指向をある程度理解したあとはデザインパターンについて学ぶことが出てきます。本日はデザインパターンについて概要を説明したあとSingletonとFacadeについて解説していきたいと思います。
初心者
【Java】ビルドツールについて学ぼう
Javaで開発を行う際、ビルドツールを利用された経験はありますか。Javaのビルドツールにはいろいろと種類があります。私はMavenとGradleしか知りませんでした。他に存在するビルドツールの種類についてや、メリット・デメリットについて記事作成を通して学んでいこうと考えてます。
初心者
【オブジェクト指向】継承、コンポジションの違いと使用方法
まずはじめに、オブジェクト指向言語とはソフトウェアの考え方で「さまざまな処理を部品ごとに分けて、それらを1つにまとめプログラミングしていくという考え方」を表しています。よく自動車の例が挙げられていますが、ほとんど同じですがここでは自動販売機を例にあげてみます。まずは自動販売機の動作をおさらいしてみますが、「お金を入れる」→「購入できる飲み物のボタンが光る」→「ボタンが押されたら飲み物が出てくる」というようなものが共通の動作としてあると思います。この共通の動作を色々な自動販売機に流用していくというのがオブジェクト指向の考え方です。「お金を入れる」処理を1000円ガチャなどに流用すると、小銭が使えなくお札のみ使用できるという処理を1から作らずに応用して作成することができます。こういった考え方をプログラムに落としたものがオブジェクト指向といいます。今回はその中で、「継承」、「コンポジション」についてそれぞれの違いと使用方法について簡単に説明していきます。
初心者
【Java】JavaBeansについて学ぼう
Javaを勉強したことがある人はJavaBeansについてご存じでしょうか。WEBアプリケーションでよく使われる印象ですが、なにが便利なのか、そもそもJavaBeansとはなにか、メリット・デメリットはなにか、記事作成を通して調査してまとめてみました。
初心者
【初心者向け】ソースファイルの分割について
プログラム言語について学習していると、実際にコードを書くことが多くなると思います。最初の方は簡単で短いコードを書いて練習をしていくと思いますが、慣れてくると、長いコードや簡単なシステムを作ることが増えていくと思います。その際に、一つのソースファイルの中で処理を書いていくと思いますが、100〜1000行ほどになっていくとエラーが出た際にどこでエラーが出たのか、どこでどういった処理をしているのか探すのが大変になります。その時に必要になってくるのが、ソースファイルを分割するということです。ソースファイルだけではなく、プロジェクトを分割することもあります。このようにソースファイルやプロジェクトファイルを分割することのメリットが多くあるので、今回はソースファイルを分ける方法の一例を提示しながら、メリットを解説していきたいと思います。
初心者
Thymeleafについて学ぼう
皆さんはThymeleafについて耳にしたことはありますか。Javaの代表的なテンプレートエンジンでとても便利です。Thymeleafとはなにか、どういったメリットやデメリットがあるのかをこの記事作成を通して学んでいきたいと考えています。
初心者
【Java】アクセス修飾子についてまとめてみた
今回はアクセス修飾子についてまとめてみます。Javaには4つのアクセス修飾子があり、クラス・メンバフィールド・メソッドの他クラスへの公開範囲を決める修飾子を意味するものです。修飾子とはプログラム言語で、変数、関数、クラスなどの要素を振る舞いや性質を変更するキーワードのことです。修飾子は、その要素がどのように動作し、他の部分とどのように関連するかを制御するために使用されます。下記で示した4つのアクセス修飾子は、プログラムのセキュリティ、カプセル化、情報隠蔽などの様々な目的で使用されます。
学習・スキル
便利なMyBatisについて知ろう
皆さんはMyBatisについて耳にしたことはありますか。私自身MyBatisを軽く触ったことがある程度でしたが学習コストが少なく、便利なフレームワークだと感じました。今回はその便利なMyBatisについて記事作成を通して、読んだ方が基礎知識を学べていただけたらと考えています。
初心者
【初心者向け】不具合報告書の書き方
テストエンジニアは業務内で不具合を見つけた際に不具合報告書を起票することになります。不具合報告書とは、発生した不具合の原因と対策について記載した文書です。社内の関係者への共有はもちろん、取引先に提出することもあるため、正確かつわかりやすく記載する必要があります。
初心者
【初心者向け】ソフトウェア7原則について
テストを実行にあたって覚えておきたい項目にソフトウェアテストの7原則というものがあります。ソフトウェアテストの7原則とは、『ソフトウェアテストの7原則』とはISTQBテスト技術者資格制度 Foundation Level シラバス(以下シラバスとする)に記載されている、ソフトウェアテストを行う上で共通して理解しておく必要がある一般的なガイドラインです。テスト技術者資格制度 Foundation Level シラバス Version 2018V3.1.J03 (PDF)シラバスに記載のあるテストの7原則を解説します。
初心者
【通信プロトコル】SSL/TLSについて
みなさんは、httpやhttpsなどをよく目にすると思います。このhttpやhttpsのことをプロトコルといいます。今回はそのプロトコルについて解説するのですが、プロトコルにはかなり沢山の種類があります。その中で「SSL/TLS」について、本日はご紹介していきます。プロトコルとは何かというところから、この「SSL/TLS」がどういった場面で使用されているのかを具体例をあげながら紹介していきます。
学習・スキル
Reactについて基礎知識を学ぶ
Reactについて皆さんは耳にしたことはありますか。Reactはよく比較されるVue.jsやAngularと同様人気が高くあります。ほかとどう違うのか、Reactの特徴とは何か。そういった内容を調査し、今回の記事作成を通してReactの基礎知識を学んでいこうと考えています。
初心者
【初心者向け】ソースコードを読む
Javaの学習をしているとソースコードを読んで理解しなければならないという状況があると思います。実際にプロジェクトに参画したばかりの時も読むことが多くなると思います。また業務の8割がコードを読むこととも言われてます。そのためソースコードを読む方法を知らなかったり、読めなかったりすると業務に支障が出てきます。今回は、学習方法の一つ、「ソースコードを読む」ということについて例をいくつかあげながらコツを含めて解説していきたいと思います。
初心者
【初心者向け】テスト観点について
テスト観点(test perspective)とは、「ソフトウェアやシステムをテストする際に、評価すべき特定の側面や機能」を指します。テスト観点は、テストプロセスを計画、設計、実行する際に、目標となる品質要素を明確にすることで、効果的なテストケースを作成し、重要な問題を特定できるようにする役割があります。これは、製品やサービスの品質向上に大きく貢献する重要な要素であると言えます。
初心者
Angularについて基礎知識を学ぶ
Angularという言葉を最近耳にすることが多くあります。私自身これまでAngularの開発に携わったことがないため、この記事作成を通してAngularとはどういったものなのか、基礎知識を学んでいきたいと考えてます。
初心者
【QA】今更聞けない3つのテスト工程
ソフトウェアや機能の評価にはいくつかの工程があり、それぞれ異なる範囲と粒度でシステムを評価する目的があります。しかしシステム開発の現場によってはローカルなテスト名が運用されることが多く、自分が具体的にどの工程のテストに触れてきたのか曖昧にしか把握していない方も少なくないのではないでしょうか。様々な種別のテストがどういう目的で行われているのかを知ることで、プロジェクトにおける評価工程の在り方を理解していきましょう。
初心者
【初心者用】Swingについて勉強したのでまとめてみた 第二回
前回はSwingとはどういうものか、そしてボタンを押下したら小文字英字が大文字に変換される簡単な処理の作成を行いました。今回はSwingに図形を描画する方法をまとめ、次の章でこれまでの応用としてボタンを押下するとSwingに図形を描画して最終的に絵を完成させる処理を作成していきます。
初心者
【初心者用】Swingについて勉強したのでまとめてみた 第一回
Swing とは、 Java の GUI (グラフィカルユーザーインターフェース)を構築するためのフレームワークです。Swing は OS の GUI 画面を構成する部品に頼らずに独自に 画面を構成しているので、 実行環境の違いがなく、さらに実行環境で用意されている以上の 画面構成が利用可能となります。その反面、OS に元々備わっている画面の構成ではなくなるために動作速度が遅いなどの欠点があります。しかしながら、近年のハードウェアの進化などに伴い、動作速度の問題は大きなものではなくなってきていると言われています。そもそもJavaのGUIフレームワークとして最初に提供されたのはAWT(Abstract Windows Toolkit)ですが、AWTではテキストボックスやボタンなどのウィンドウ画面を構成する部品はOSの機能を利用していたため、Peerが処理を行っていました。こうしたPeerベースの構成となると、OSによって若干動作が異なったり、OSの不具合がJavaで作成したアプリケーションにも現れるなどの問題が発生することがあり、「一度書いたらどこでも同じように動く」と言うJavaの基本と若干の相違が生まれたため、Peerに頼らないアーキテクチャとしてSwingが生まれました。
初心者
SOAPについて知ろう
皆様、SOAPというワードを耳にしたことはありますか。私はこの記事を作成する前まで恥ずかしながら知りませんでした。今回はSOAPについてどういったものなのか調べてまとめてみました。
初心者
【QA】不具合を発見した時
ソフトウェアやその機能についてテストを行った場合、何かしらの不具合を発見することがあります。実施者は発見した不具合が市場への流出するのを防ぐ最初の防衛ラインとなります。では実際に不具合を発見した場合、実施者はどう不具合報告をすればよいか。※開発チーム所属するQA担当であることを想定した内容となります。プロジェクトによって不具合を報告する際のルールは様々なため、この限りではないことを留意してください。
初心者
IVEC学習①
IT検証技術者認定試験(IVEC)とは、一般社団法人IT検証産業協会(IVIA)が認定するテストエンジニアの資格試験です。特徴はテストの現場における実務を重視していることです。IVECのキャリアクラス(下図参照)ごとに実務力を問う記述式試験を設けており、その合格者(認定者)には実際の現場でも安心して仕事が任せられると、業界でも高い評価を受けています。2024年春期試験より従来の試験レベルを再編し、テスタークラス、デザイナークラス、 アーキテクトクラスにすると共に、新たに、初心者向けのアシスタントクラス、専門家として活躍できる エバンジェリストクラスを新設しました。各クラスの試験の合格者を認定者とし、認定証を発行します。
学習・スキル
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【Mac OS】簡単なバッチファイル作成
そもそもバッチファイル(batch file)とは、Windows環境において実行したいコマンド列が記述されたテキストファイルです。拡張子が「.bat」のため、BATファイルとも呼ばれます。その他にも「.sh」拡張子も使用されます。Mac OSでは「.command」や「.sh」が拡張子になります。バッチファイルにコマンドを記述してその処理を順番に実行することを、バッチ処理と言います。つまり、バッチファイルに上からコマンドを書いていけば、その順番で実行されるということです。頻繁に実行する処理の一連の流れをバッチファイルに記述しておけば、いつでもまとめてその処理を実行できます。バッチファイルのコーディングには、RubyやPythonといったスクリプト言語が用いられます。
学習・スキル
テスト観点
テスト観点とは、特定の機能に対してどのようなテストを行うことが有効なのかを考えることを指します。テストケースを作成するうえで必要不可欠な要素であり、テストの精度を高めて効率的に作業するために必要とされています。具体的な例をあげると、次の太字個所がテスト観点と呼ばれる部分に該当します。 ・住所入力テキストボックス(対象)の入力可能桁数(何)を確認する ・次へボタン(対象)押下の遷移先(何)を確認する ・氏名テキストボックスに入力した内容が氏名欄(対象)に正しく表示(何)されることを確認する特定の機能に対して、どの部分をテストしなければならないのか、その方法は何がふさわしいかを考えるのがテスト観点です。テスト観点を明確にすることで、ソフトウェアテストにおける抜けや漏れを防止することができます。
初心者
【MySQL】実行計画を活用した速度改善
作成したプログラムの実行速度が単体テストのときは早かったのに、結合テストや本番では遅くなって問題になることがよくあると思います。今回はデータベースへのアクセス速度の問題を、実行計画を活用しながら解決する方法を簡単に説明いたします。説明はMySQLを対象としておりますが、基本的なところはどのDBMSでも同じと考えています。
初心者
テスト技法と種類
テスト技法とは、ソフトウェアテストのテストケースを作成するための技法です。同値分割法、境界値分析、デシジョンテーブルテストなど、さまざまなテスト技法が存在します。テスト技法を利用することで、テストケースの抜け漏れを防いだり、効率よくテストケースを作成することができます。
初心者
【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ②
QC7つ道具は、主に生産現場における各種数値を元に品質やリスクなどを分析して、品質管理を進める手法でしたが、品質管理に関わる問題は定量的分析のみでは対応しきれないようなものもあります。「【ソフトウェアテスト】欠陥分析手法について」記事でも触れているとおり、統計的分析は定量的解析手法で対応可能ですが、問題の要因に対してアプローチしようと考えた場合に、あらゆる要因が数値化できるのであれば定量的分析手法を用いれば解決できますが、数値化が困難であったり、集計して数値化して分析すると考えた場合に非常に手間がかかるような要-因に対しては、定性的な分析手法が必要になります。また、生産活動そのもののみではなく、プロジェクト全体の管理もQC活動、品質管理活動で対応すべき事象です。プロジェクト進行における問題点の可視化や共有に際して、数値データではない文字データや言語データでの集計管理をして、そうした定性的データを共通化された手法を用いて分析することにより、どのような生産現場でどのようなスキルの人が品質管理対応をする想定になったとしても、ある程度容易に対応できるように作成された手法のなかでも代表的な7つの手法が、新QC7つ道具(N7)として分類されています。英語ではNew Quality Control – 7 Tools等と呼ばれます。
テスト(運用・保守・サポート)
システムテストについて
システムテストとはシステム開発の一環として行われるテスト手法の一つで、「総合テスト」とも呼ばれています。システム開発の最終段階で行われることが多く、実際に使用される状況と同じ設定でテストを行います。システムテストでは、開発したシステムが期待通りに動作するか、構築したシステムが仕様書通りの機能や性能要件を満たしているかについて検証します。実際の使用状況を想定して、本番と同じ環境で多角的にテストを行うことで、開発環境ではわからないバグや不具合を発見するのに役立ちます。さらに、システムの一部だけではなくシステム全体を俯瞰して、ハードウェアも含めたテストが実施されるため、ハードウェアの環境に関連する不具合も検出できます。システムテストが行われるのは、プログラムや機能ごとの確認を行う単体テストや、プログラムを結合してバグがないかを確認する結合テストを終えた、開発の最終段階です。納品前に全体を通したテストを行うことでシステムの品質を確保し、クライアントに引き渡したあとに残存するリスクをできるだけ減らすことができます。
初心者
【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ①
生産の分野における管理手法に関して、各種データの分析に使用する代表的な7種類の手法が、QC7つ道具と呼ばれています。もともとは工業系生産などの製造現場における品質に関して、顧客信頼度を高めたり現場の問題解決に取り組むための視点として、品質管理の思考が波及しました。そのことから、管理の手法を明示化することで、手法を用いて誰でも品質管理に取り組むことができるようになることを目的としてさまざまな手法が作成されました。それらの中でも特に代表的なものがQC7つ道具と呼ばれるようになりました。ソサエティー5.0が提唱されている現代において、市場や製造現場におけるソフトウェア関連開発業務の割合は増えています。ITの基本資格でもある基本情報技術者試験のストラテジ系領域の内容にもQC7つ道具に関する問題が含まれており、ソフトウェア開発現場におけるQC(Quality Control)活動においても、QC7つ道具の利用される場面は増えています。QC7つ道具は主に、数値などの定量的分析が可能なデータを取り扱う分析の際に用いられる手法です。定性的な事象の分析に用いるような手法は新QC7つ道具として別でまとめられています。※以降に記載する図の中でも定性的事象分析に使用できる図はあるため、QC7つ道具が必ずしも定量的分析にしか使用しないものというわけではありません。
テスト(運用・保守・サポート)
テスト自動化
テスト自動化とは、人の手によって行われるソフトウェアテストの全体あるいは一部を自動化することを意味します。そもそもソフトウェアテストは、不具合を見つけることが目的です。そのため、テストを繰り返し行うことも増えています。テスト自動化によって、テストにかかる人的負担を減らし、将来的なコストの削減が期待できます。テストといっても、その中にはさまざまなプロセスが含まれます。ソフトウェアテスト技術者資格認定組織である「ISTQB(国際ソフトウェアテスト資格認定委員会)/JSTQB(日本ソフトウェアテスト技術者資格認定組織)」の定義によると、テストプロセスは以下の5つの要素で構成されています。テストプロセス ・テスト計画作業とコントロール ・テストの分析と設計 ・テストの実装と実行 ・終了基準の評価とレポート ・終了作業
テスト(運用・保守・サポート)
【ソフトウェアテスト】シナリオテスト
シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。
テスト(運用・保守・サポート)
【QA】テストケースの書き方
システム開発における評価・検証では評価する為の状態や手順、そして確認するべき期待結果等の情報をまとめたテストケースを事前に作成することになります。しかしテストケースの書き方が不十分であると他の実施者がそれを見た時はもちろん、テストケースを作成した本人でもいざ評価をする際にテストケースに書かれた情報を正しく読み取ることが出来ない可能性があります。良質なテストケースは"誰が実施しても同じ期待値を得られる"ということです。本稿ではそのために意識するべきことをまとめていきます。
初心者
【ソフトウェアテスト】エラー推測テスト
エラー推測テストは経験ベーステストの一種です。最も単純な表現をするならば、「どうすればエラーが発生するか」を想像して試行し、エラーを再現させることを目的としたテストの手法です。
テスト(運用・保守・サポート)
【Spring】便利なアノテーションについて知ろう①
Java開発でフレームワークを使用する際、Springが選ばれることが多いと感じます。Springで特徴的なのはアノテーションという@を使った記載になります。そのアノテーションにはどういったものがあるか、どういった意味になるのかを調べてまとめてみました。
初心者
【ソフトウェアテスト】レビューについて
ソフトウェアテスト領域には、動作させることを前提とした対象をテストする動的テストと、動作させることを前提としていない対象をテストする静的テストがあります。単体テストや結合テストなど、作成したものを動作させてテストをするのが動的テストですが、静的テストは動作させる対象がなくてもテストが実施できます。静的テスト活動の種類としてレビューがありますが、開発活動の中で作成された製品やシステム自体以外のものは、レビュー対象としてテストすることが可能です。
テスト(運用・保守・サポート)
【初心者向け】様々なシステム開発手法
システム開発には作成するサービスやプロジェクトによって適切な開発手法がいくつかあります。今回はシステム開発の手法を数種類紹介して、それぞれの特徴や、メリット、デメリットを紹介します。下記が主な開発手法の一覧になります。 ・ウォーターフォール型開発 ・アジャイル型開発 ・プロトタイプ型開発 ・スパイラル型開発 ・DevOps(デブオプス) ・リーン開発では次からそれぞれの開発手法の特徴とメリット、デメリットを紹介します。
初心者
【ソフトウェアテスト】欠陥分析手法について
「【ソフトウェアテスト】不具合報告のインシデントレポートについて」記事で記載したとおり、インシデントはチケット作成して報告されたのち、内容を分析して対応をし、作成から完了に至るまで管理します。そうして蓄積されたインシデントレポートは、報告対応されたそのレポート自体が、以降で類似の現象を検出した際の資料として用いられる面もありますが、内容を分析することで、今後の開発品質向上を目指すための判断材料として活用することができます。いずれのインシデントレポートも、何かしら問題があったから作成されているものであり、問題点は解決した時点で完了とはせずに、内容を振り返って同じ轍を踏まないように以降の活動を随時改善していくことが肝要です。近年のアジャイル化が進んでいるプロジェクトなどの場合は、直近の開発内容に対するインシデントレポート単体を都度分析するような時間も設けられずに次々進んでいくことがありますが、プロジェクト全体としてインシデントレポートを統合管理し、アジャイル開発の各プロジェクト進行とは別途で機会を設けて、振り返りと共に不具合分析を行うことは、高品質な開発を目指す上で必要な活動です。ソフトウェア開発現場の現状として、プロジェクト形式もインシデントレポート形式もさまざまある状況なので、欠陥分析の手法もこれが絶対という唯一のものではなく、状況や期間などに合わせて必要な手法でアプローチをすべきです。統計的内容に基づく分析、インシデントごとの要因に基づく分析、その両面からの分析など、どのような面からアプローチするかによって用いる手法もさまざまあります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】不具合報告のインシデントレポートについて
開発プロジェクトで発生した問題はインシデントとして、管理・分析・対応が必要です。プロジェクト全体を通しての問題となるとかなり範囲は広く、人的トラブルやステークホルダー間での問題など、開発しているプロダクト以外の問題も含んでしまうので、本記事では主にプロダクトのテストに関して検出された動作の不具合(バグ)に焦点を絞って記載します。プロダクトのテストに際して検出した不具合は、報告・対応したあとは蓄積データとして、引き続きプロジェクトで参照・活用されます。実際の開発現場によっては、早期レビューでのやりとりに関するものや、開発とテスターが口頭で連携できるような状況で報告即時対応できる程度の不具合対応など、状況により必ずしも定められたドキュメントの形式で報告されるものとは限りませんが、可能な限り検出対応した不具合は履歴を残しておくことで、プロダクトの品質向上を目指すことができます。ほとんどの場合は不具合管理に別途外部のbug tracking system(BTS)を使用しています。BTSはインシデントレポート1件をチケットという1単位で扱います。チケットの形式や内容が必ずしも同一の形式に沿っているというものではありませんが、不具合の報告管理をするチケットの内容は、管理運用の観点から記載が必要となる項目はある程度決まっています。余談ですが、BTSは不具合報告のみならず、チケット駆動開発 (TiDD) を実施するプロジェクトでは開発作業自体の管理進行目的で使用される場合もあります。
テスト(運用・保守・サポート)
便利な【AWS】について
皆様はAWSという単語を耳にしたことはありますか。クラウドサービス世界シェア1位のAWSについて、何が便利なのか、何ができるのか、どうして使用されるのか、そういった理由をAWSにはじめて触る人にもわかりやすく調査してまとめてみました。
初心者
【ソフトウェアテスト】ユースケーステスト
ユースケース(use case)テストとは、システム開発要件や機能仕様などのテスト対象に対して利用者サイドから想定しうるテスト対象の使用状況や相互の作用をユースケースとしてシナリオを想定することで、対象の利用に際して問題がないかを主軸にしてテストを行う手法です。シナリオを想定してテストを行うため、シナリオテストと混同されやすいですが、シナリオテストと比較してテスト対象や目的やテストの粒度など違う部分があるので、ユースケーステストとシナリオテストはそれぞれ別の手法として、実施するテストケースに応じて使い分けが必要です。シナリオテストは主に特定の機能や操作の流れを一連のシナリオとしてテストするもので、対象となる仕様や要件のみならず、ストーリーとして関連が想定される動作や異常系処理などもテストスコープに含むため、ユーザーサイドの視点で対象に対して詳細なテストを実施しますが、ユースケーステストは、あくまで対象となる仕様や要件から想定されうるユーザーストーリーをテスト対象とする前提で、シナリオテストよりもテストスコープは狭くなると想定されます。また、記事内にて後述しますが、ユースケース図を用いていることもユースケーステストの特徴であり、シナリオを順序立てる記述形式はシナリオテストもユースケーステストも同様ですが、テストケースの整理や共有の方法によってテストケース自体をレビューできるため、静的テストのアプローチがしやすいテスト技法です。
テスト(運用・保守・サポート)
【QA】テスト観点の出し方
システム開発における評価・検証は、避けることのできないバグや不具合を市場に流通する前に可能な限り取り除くことのできる重要な工程です。またテスト観点が明確なテストケースは実施者ごとの評価精度のブレを防ぎ、不具合の発見率を高めることができます。しかしこの工程を最大限活かすには"なぜそのテストをするのか”、”そのテストで何を確認したいのか”という観点を正確かつ明確に定めていなければなりません。テスト観点の洗い出しが不十分なまま重大な不具合を見逃してしまうことで機会損失や信用を失うなど、多くのリスクを生んでしまう恐れがあります。
初心者
【初心者】JavaScript
JavaScriptとは、動的なWebページを作るためのプログラミング言語の一つです。代表的な機能は、ボタンを押すと画面に別ウィンドウが開く「ポップアップウィンドウ」や、画像が自動送りされる「スライドショー(スライダー)」などの多様なアニメーションです。その他、システムやアプリ開発などのバックエンドでも用いられています。
初心者
【ソフトウェアテスト】直交表/ペアワイズ法 ②
直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。
テスト(運用・保守・サポート)
PythonでWebアプリケーションを作成するための備忘録
近年AIやディープラーニングの盛り上がりで注目されているPythonですが、特徴、できること、学習方法、Webアプリケーション構築に適しているのかを調べてみました。
初心者
Python基本文法3
グローバル(global)宣言・グローバル変数とは、関数内でグローバル変数にアクセスするための宣言です。ローカル変数(関数定義の内部で定義した関数)とグローバル変数(関数定義の外側で定義した変数)があります。glb = 0def func1(): glb = 1def func2(): global glb glb = 5print(glb) # 0が出力されるfunc1()print(glb) # 0が出力されるfunc2()print(glb) # 5が出力される
初心者
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【まだ現役?】COBOLの現在と将来性
COBOL(Common Business-Oriented Language)は、主にビジネスアプリケーションの開発に使用されるプログラミング言語です。1959年に開発され、それ以来、経済、財務、および行政の分野で幅広く利用されてきました。COBOLは、大規模なデータ処理やトランザクション処理に特化しており、特に企業のバックエンドシステムで使用されることが一般的です。
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】クラシフィケーションツリー技法
クラシフィケーションツリー技法は主に、複数のテスト対象と各対象の値が複数関連する状況で、各対象を木構造で図示することで、テスト対象の機能や状態を階層的に分類し、その組み合わせや変数いくつ分を対象とするか等の組み合わせの強度について、整理検討するときに用いる技法です。ドメイン分析テスト技法の際には、複数の境界値による動作変化の関連性と、その組み合わせで想定される複数パターンの網羅を表形式で表現する方法を取りましたが、クラシフィケーションツリー技法では、1つの機能に関わる複数の要素、各要素に想定される複数パターン、各パターンで想定される変数のパターンと、想定される内容を木構造の図で上から下へ記載して整理する方法を取ります。ブラウザベースでWebサイトを作成して、ウィンドウの表示サイズをPCサイズのレイアウトとスマホサイズのレイアウトで2パターン適用するとして、PCサイズレイアウトが正常に適用されているかを確認するときのテストスコープについて、ブラウザは[GoogleChrome][MicrosoftEdge][Firefox][Safari]をテスト対象と仮定し、各ブラウザのサイズや文字サイズ設定を変更しても問題ないか、さらに設定するウィンドウサイズは想定の最小値・最大値・全画面のパターンで、文字サイズは通常から何%拡大を対象とするかなどを考慮し、どの組み合わせでのテストを必要とするかを検討するといったような場合には、当該技法を用いることで視覚的に情報を整理しやすくなります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ドメイン分析テスト
同値分割法/境界値分析については他の記事で記載しましたが、ドメイン分析テストも境界値を用いてテストします。このテスト方法は、関係性のある複数の変数について、入力データの有効範囲にフォーカスしてテストをする手法です。同値分割法/境界値分析では、一つの機能に関して境界がいくつか設定されていて、各境界の前後でそれぞれ動作が変わるような仕様に対してパーティションを分けてテストしていましたが、そのような数値による境界をもつ機能がいくつか関連して複数結果に分かれるような仕様のケースでは、ドメイン分析テスト技法が使用できます。ゲームのダメージ計算式で、与えた最終ダメージ数値に応じてクリティカル倍率をかけた数値を上乗せするといった場合に、元となるダメージ数値がいくつか、相手の防御数値がいくつか、数値いくつ以上でクリティカル倍率は何倍が適用されるか、各数値には有効・無効となる境界があり、かつ最終の数値ごとに複数のクリティカル倍率が用意されているといった仕様があったときに、ドメイン分析テストによって必要なテストケースを洗い出すことができます。
テスト(運用・保守・サポート)
【初心者】Python
Pythonは、コードの記述が短くシンプルな言語で、初心者でも比較的容易に利用できます。一方で豊富な機能も備わっているため、科学技術分野をはじめ、幅広い分野で重宝されています。
初心者
【ソフトウェアテスト】デシジョンテーブルテスト
さまざまな入力値が想定されており、それぞれの入力値を統合した結果として複数の状態を返すようなシステム仕様に対しては、デシジョンテーブルテスト技法を用いることで、複雑な条件を整理することができます。サービス利用時に新規アカウントを作成するような場面で、ユーザー情報を入力して登録する機能を想定した場合、[名前(ローマ字)][よみがな][任意のパスワード][パスワード確認入力][年齢][住所]などを入力し、それらの入力値が全て正常であれば登録処理を進めて、入力値のうち1つでも正常ではない値が入力されている場合は、エラーメッセージを表示して再度入力を促すようなシステムがあります。対象のステータスによって期間限定のサービス適用有無を判定するようなシステムでも、サービス対象となるかどうかを複数条件から判定するような仕様が想定されます。5年以上サービスを利用していて、アカウントの利用者ランクがゴールド以上の場合、商品購入時の金額から5%をサービス固有ポイントとして還元するというイベントを、n年n月n日~n年n月n日まで開催するといった追加開発システムのテストをする際に、デシジョンテーブルによってテスト対象を適切に抽出できます。
テスト(運用・保守・サポート)
単体テストとは
単体テスト(ユニットテストと呼ばれることもあります)は、プログラムを構成する比較的小さな単位(ユニット)が個々の機能を正しく果たしているかどうかを検証するテストです。通常、関数やメソッドが単体テストの単位(ユニット)となります。 プログラムが全体として正しく動作しているかを検証する結合テストは、開発の比較的後の段階でQAチームなどによって行なわれることが多いのとは対照的に、単体テストは、コード作成時などの早い段階で開発者によって実施されることが多いのが特徴です。
初心者
【ソフトウェアテスト】同値分割法/境界値分析
入力されるデータによって判定を変えるという機能は、ソフトウェアの機能として広く一般的に使われます。自己責任で金銭を扱うサービスを利用する際には、18歳以上か未満かで利用の可不可を判定するという年齢確認機能が適用されていることがあります。ユーザーが任意にパスワードを設定できる機能の場合は、文字数が想定より少ない場合はセキュリティレベルが低いため無効として、文字数が想定より多い場合も仕様想定外として無効とするシステムもあります。こういった機能を対象に検証を実施する際、入力可能な数値を全て検証対象としてテストを実施しようとすると、非常に多くの工数を割かねばならないため、入力想定範囲の中で同じ処理を返す想定の数値は1つのグループとして扱い、処理の変わる境目に狙いを付けてテストするというのが、「同値分割法」と「境界値分析」です。
テスト(運用・保守・サポート)
【基礎】HTML/CSS
HTML は、コンテンツの構造を定義するマークアップ言語です。HTML は一連の 要素 で構成されており、これらの要素がコンテンツのさまざまな部分を囲み、一定の表示や動作をさせることができます。タグで囲むと、単語や画像をどこかにハイパーリンクさせたり、単語を斜体にしたり、フォントを大きくしたり小さくしたりすることができます。
初心者
【ソフトウェアテスト】状態遷移テスト
何かの操作を行うと何かのアクションを実行して実行後の状態になり、実行後の状態からさらに次の操作を行うとまたアクションを返すといったように、ソフトウェアに限らず何かしらの機能を持つものは、機能を使う前と機能を使った後でそれぞれ状態が変わります。状態が仕様想定どおりに遷移しているかどうかを確認する技法として、状態遷移テストがあります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】テスト技法の有用性
世に存在するさまざまなソフトウェアテスト技法について、自身のナレッジ整理もかねて詳細をまとめようと思いました。ですが、いろいろなプロジェクトで開発エンジニア・PdM・PM・QAなどさまざまな方と関わらせていただく中で、QAテスター/テストエンジニア等のポジションの方以外には、ソフトウェアテストに技法が存在するということや、テスト技法を用いる意味とメリットについてあまり認識されていないかも知れないと思いました。まずはソフトウェア開発現場でソフトウェアテスト技法を用いたテストを実施することの理由などについてまとめます。
テスト(運用・保守・サポート)
Pythonで自動化できること6選!単純作業を効率化しよう
さまざまな企業で、DX化が推進されていますが、実際に日々の業務で発生する定常的な作業や単純作業は自動化できていますでしょうか。例えば、次のような作業は、一見単純で簡単に見えますが、実は時間や労力をかなり消費しています。 ・ExcelやWordでデータを整理する ・メールを送る ・ファイルを移動する ・PDFを作成する ・Webサイトから情報を収集するしかし、Pythonというプログラミング言語を使うことで、このような作業を自動化することができます。
学習・スキル
要件定義とは何か
システムの開発やWeb制作の現場にいると「要件定義」や「要求定義」という言葉を耳にする機会もあるでしょう。しかし、要件定義、要求定義について実は理解していない、という方も少なくありません。システム開発プロジェクトにおいて「要件定義」は、プロジェクト成功の鍵を握る、重要な役割を担っています。
要件定義(PG/フロントエンド)
新着記事
もっと見るQAエンジニアについて
QAエンジニアは製品の動作確認やサービスの品質保証をミッションとした、テストやレビューなどをメインに行うエンジニアです。システムやアプリケーションが仕様に沿った動作をしていることをレビューやテストで確認し、開発者に問題点をフィードバックしてソフトウェアの品質を確保します。QAエンジニアのQAは、Quality Assuranceの頭文字で「品質保証」を表す言葉です。品質保証エンジニアとも呼ばれます。
初心者
【Java】コレクションフレームワークとジェネリクス
Javaの学習をしていき、ある程度の基本文法について知識がつくと次はコレクションフレームワークと、ジェネリクスについて学習することになると思います。今回は、コレクションフレームワークとジェネリクスについてどういった特徴があるのか、そして使用方法についてできるだけ分かりやすく解説していきます。
初心者
【Webサーバー】Nginxについて学ぼう
WebサーバーであるNginxついて皆さんご存じでしょうか。今回は数あるWebサーバーの中でNginxについて学んでいきたいと考えています。Nginxとはなにか、メリット・デメリットはなにかを調査してまとめてみました。
初心者
【初心者向け】MVCモデルとは
MVCモデルという言葉を聞いたことがあるという方はかなり多いと思います。システム開発手法の一つということだとわかる方は思います。ただどういった手法なのかが分からない方が多いと思います。今回はMVCモデルについて分かりやすく説明していきたいと思います。
初心者
【Webサーバー】Apacheについて学ぼう
WebサーバーであるApacheについて皆さんご存じでしょうか。今回は数あるWebサーバーの中でApacheについて学んでいきたいと考えています。Apacheとはなにか、メリット・デメリットはなにかを調査してまとめてみました。
初心者
【初心者向け】テスト自動化について
テスト自動化とは、人の手によって行われるソフトウェアテストの全体あるいは一部を自動化することを意味します。そもそもソフトウェアテストは、不具合を見つけることが目的です。そのため、テストを繰り返し行うことも増えています。テスト自動化によって、テストにかかる人的負担を減らし、将来的なコストの削減が期待できます。
初心者
【初心者向け】Dockerについて学ぼう
皆さんはDockerについてご存じでしょうか。この記事はDockerについて知らない人や名前だけは知っている程度の人や、環境として利用している程度の人を対象にどんなものなのか、どういったメリットやデメリットがあるのかを調査し、まとめてみました。
初心者
【Java】トランザクション処理について
「トランザクション処理」という言葉は基幹システムや、オンライン決済など、データの整合性と信頼性を必要とするシステムを開発する際に必ず耳にすると思います。必ず耳にするということは大事な処理であるということだというのはわかるはずです。ただ、どういった処理なのかぼんやりとしか分からない方もいると思います。私もその一人でしたので、今回は学習した内容をまとめると同時に分かりやすく「トランザクション処理」について解説していきたいと思います。
初心者
ニュース・お知らせ
2025年02月07日
News・お知らせ2023年06月19日
ニュース・お知らせ
週間人気記事
もっと見る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/フロントエンド)
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【初心者用】Pythonでスクレイピングをしてみよう
前回の記事で、Pythonのプログラムを実行するための環境構築について解説しました。 今回の記事では、Pythonで出来る作業の代表格でもあるスクレイピングを実際に行い、プログラミングのイメージを可視化していければと思います。 前回の記事で構築した、Jupyter Notebookを使っていきます。
製造・コーディング(PG/バックエンド)
【初心者用】Pythonでできることについて
現在、最も注目を集めているプログラミング言語の1つといわれているのが、今回紹介する「Python (パイソン)」です。 Pythonの特長としては、人工知能(機械学習や深層学習)などの最先端分野の開発にも使われている一方、プログラムの記述方法が簡単なため、 プログラミングを始めたばかりの初心者の方でも大規模なWebアプリケーション開発が短期間でできることがあげられます。 今回は、そんなPython の魅力について詳しくご紹介します。
製造・コーディング(PG/バックエンド)
タスク管理ツール、Redmineの使い方
Redmine(レッドマイン)とはオープンソースで公開されているプロジェクト管理ツールのことです。 プロジェクト管理ツールとは、チームで作業する場合の進捗状況やスケジュールを管理することを目的としており、システム開発などエンジニアの仕事においては必須のツールであります。 今は様々なプロジェクト管理ツールが存在していますが、数あるツールの中でもRedmineはオープンソースで自由度が高いという特徴を持っています。 Redmineはフランス人であるJean-Philippe Lang氏によって開発され、2006年に最初のバージョンがリリースされた、かなり歴史の古いプロジェクト管理ツールです。 オープンソースであるためGitHub上でソースコードが公開されており、様々なエンジニアが開発に参画していますしていることから、GitHubでは細かいアップデートが頻繁に行われています。 また、Redmineはオープンソースソフトウェアであるため、全ての機能を無料で使うことが可能です。個人利用としてプロジェクト管理ツールを使いたい場合にも心強いと言えるでしょう。
製造・コーディング(PG/バックエンド)
【初心者用】Javaの配列とコレクションクラスについて
Javaには、複数のデータをまとめる方法がいくつか存在します。 それは、「配列」と、「コレクションクラス」というものです。 今回は、 ・配列について ・コレクションクラスについて(具体例としてArrayListクラス) ・比較した際の特徴 について説明していきたいと思います。
製造・コーディング(PG/バックエンド)
「IT向いてない」と言われたけどエンジニアになりたい人向け記事
「学校の授業にはついていけていたのに」「プログラミングになると頭が痛くなる」「実際にIT向いてないと言われた」「でもエンジニアとして働きたい」こんな人向けの記事です。
初心者
Java開発に必須のフレームワーク | Spring BootとSpringの違いを徹底解説!
Spring BootとSpringはどちらもJavaのWebアプリケーション開発に使われるフレームワークですが、それぞれに特徴やメリットがあります。この記事では、Spring BootとSpringの歴史や機能、使い方などを比較しながら、それぞれの違いを理解していきましょう。
総合人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)