「IT向いてない」と言われたけどエンジニアになりたい人向け記事
「学校の授業にはついていけていたのに」「プログラミングになると頭が痛くなる」「実際にIT向いてないと言われた」「でもエンジニアとして働きたい」こんな人向けの記事です。
初心者
【QA】テスト観点の出し方
システム開発における評価・検証は、避けることのできないバグや不具合を市場に流通する前に可能な限り取り除くことのできる重要な工程です。またテスト観点が明確なテストケースは実施者ごとの評価精度のブレを防ぎ、不具合の発見率を高めることができます。しかしこの工程を最大限活かすには"なぜそのテストをするのか”、”そのテストで何を確認したいのか”という観点を正確かつ明確に定めていなければなりません。テスト観点の洗い出しが不十分なまま重大な不具合を見逃してしまうことで機会損失や信用を失うなど、多くのリスクを生んでしまう恐れがあります。
初心者
テスト自動化
テスト自動化とは、人の手によって行われるソフトウェアテストの全体あるいは一部を自動化することを意味します。そもそもソフトウェアテストは、不具合を見つけることが目的です。そのため、テストを繰り返し行うことも増えています。テスト自動化によって、テストにかかる人的負担を減らし、将来的なコストの削減が期待できます。テストといっても、その中にはさまざまなプロセスが含まれます。ソフトウェアテスト技術者資格認定組織である「ISTQB(国際ソフトウェアテスト資格認定委員会)/JSTQB(日本ソフトウェアテスト技術者資格認定組織)」の定義によると、テストプロセスは以下の5つの要素で構成されています。テストプロセス ・テスト計画作業とコントロール ・テストの分析と設計 ・テストの実装と実行 ・終了基準の評価とレポート ・終了作業
テスト(運用・保守・サポート)
システムテストについて
システムテストとはシステム開発の一環として行われるテスト手法の一つで、「総合テスト」とも呼ばれています。システム開発の最終段階で行われることが多く、実際に使用される状況と同じ設定でテストを行います。システムテストでは、開発したシステムが期待通りに動作するか、構築したシステムが仕様書通りの機能や性能要件を満たしているかについて検証します。実際の使用状況を想定して、本番と同じ環境で多角的にテストを行うことで、開発環境ではわからないバグや不具合を発見するのに役立ちます。さらに、システムの一部だけではなくシステム全体を俯瞰して、ハードウェアも含めたテストが実施されるため、ハードウェアの環境に関連する不具合も検出できます。システムテストが行われるのは、プログラムや機能ごとの確認を行う単体テストや、プログラムを結合してバグがないかを確認する結合テストを終えた、開発の最終段階です。納品前に全体を通したテストを行うことでシステムの品質を確保し、クライアントに引き渡したあとに残存するリスクをできるだけ減らすことができます。
初心者
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
SOAPについて知ろう
皆様、SOAPというワードを耳にしたことはありますか。私はこの記事を作成する前まで恥ずかしながら知りませんでした。今回はSOAPについてどういったものなのか調べてまとめてみました。
初心者
【通信プロトコル】SSL/TLSについて
みなさんは、httpやhttpsなどをよく目にすると思います。このhttpやhttpsのことをプロトコルといいます。今回はそのプロトコルについて解説するのですが、プロトコルにはかなり沢山の種類があります。その中で「SSL/TLS」について、本日はご紹介していきます。プロトコルとは何かというところから、この「SSL/TLS」がどういった場面で使用されているのかを具体例をあげながら紹介していきます。
学習・スキル
【初心者向け】テスト自動化について
テスト自動化とは、人の手によって行われるソフトウェアテストの全体あるいは一部を自動化することを意味します。そもそもソフトウェアテストは、不具合を見つけることが目的です。そのため、テストを繰り返し行うことも増えています。テスト自動化によって、テストにかかる人的負担を減らし、将来的なコストの削減が期待できます。
初心者
QAエンジニアについて
QAエンジニアは製品の動作確認やサービスの品質保証をミッションとした、テストやレビューなどをメインに行うエンジニアです。システムやアプリケーションが仕様に沿った動作をしていることをレビューやテストで確認し、開発者に問題点をフィードバックしてソフトウェアの品質を確保します。QAエンジニアのQAは、Quality Assuranceの頭文字で「品質保証」を表す言葉です。品質保証エンジニアとも呼ばれます。
初心者
【Java】シングルスレッドとマルチスレッド
Javaのスレッド(thread)とは、プログラムの実行単位を表しており、ひとつのプログラム(プロセス)の中で複数の処理の流れを走らせることができます。そうすることで、複数のタスクを同時に処理することができます。スレッドをJavaで使うためのクラスjava.lang.Threadを指す言葉でもあります。簡単な例で考えてみると、家で家事をする場面を考えてみます。独身のまま、洗濯、掃除、料理をすると一つ一つ終わらせてから次の家事に移行するので時間がかかってしまいます。ただ、結婚して二人で同じ作業を行うと、半分もしくは半分以下の時間で終わらせることができます。それと同じで、プログラムでも処理を複数同時に動かせば、短い時間で効率よく処理できます。その仕組みがスレッドです。スレッドは、今ではごく当たり前に使われているのです。スレッドにはシングルスレッドとマルチスレッドがあります。今回は、シングルスレッドとマルチスレッドの特徴についてまとめていきたいと思います。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
学習・スキル2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【これから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/フロントエンド)
AUTOSARについて、まとめてみた
AUTOSAR(オートザー)とは、Automotive Open System Architectureの略称で、車載ソフトウェアの共通化を実現するためのプラットフォームの仕様名称でもあります。
開発環境関連(PG/フロントエンド)
【IT転職】JavaのスキルアップにはJava Silverがおすすめ!資格の概要や取得のメリットを解説します!!
Javaプログラマへの転職やJavaのスキルアップを考え、Java学習に励む方が多いと思いますが、中には具体的に何を目標にするのか悩む方も多いかと思います。そんな方に向けて、本記事ではJavaのスキルを証明することができる資格「Java Silver」を紹介し、Javaスキルアップの目標としてJava Silverがおすすめな理由を解説していきます。ぜひ参考にしてくださいね。
学習・スキル
【初心者必見】Mac環境でEclipseをインストールしてみた
今回現場で想定されるJavaの開発をするにあたり、自身のPC(Mac book Air)にJavaの開発環境を構築したいため、MacでEclipseをインストールしようと思う。 参考サイト Java環境構築(Mac版)Eclipseのインストール https://www.techfun.co.jp/service/magazine/java/mac-eclipse-install.html Mac環境でEclipseのダウンロードからプロジェクト立ち上げまでの手順を徹底解説! https://wk-partners.co.jp/homepage/blog/webservices/eclipse/
開発環境関連(SE)
【初心者向け】Packet Tracerでネットワークを学ぶ(NAT)
NATとはNetwork Address Translationの略称でIPアドレスを変換する技術です。 インターネットに接続する際にプライベートIPアドレスをグローバルIPアドレスに変換します。
詳細設計(内部設計)(インフラ)
