【ソフトウェアテスト】ソフトウェア開発とテスト活動について ①
ソフトウェアはほとんどの場合、複数の機能を組み合わせてシステムを構築し、さまざまなシステムをまとめたものを運用する想定で開発プロジェクトが進行します。Webシステム開発、アプリケーション開発、組み込みシステム開発など、開発プロジェクトにもそれぞれ種類はありますが、アプリケーションに付随するWebサービスを展開する場合にWebシステムを開発したり、組み込みシステムと連携するアプリケーションを展開する場合にアプリケーション開発をするなど、複数のサービスやプラットフォームが関連しているのがソフトウェアの現状であり、開発プロジェクトもそれに伴って複雑で多様な関係性の中で進行していきます。このため、何か一つを開発して終わりとなることはほとんどなく、開発プロジェクトの開始・終了・進行中に至るまで、そのほか複数の開発プロジェクトの進行も関連してきます。とはいえ、多くのプロジェクトが相互に関連しながら進行しているとしても、プロジェクト進行の工程という点でいうならば、サービスやシステムの企画と検討に始まり、リリース後の継続的な運用保守から運用の終了に至るまでを一つのサイクルとして、開発プロジェクトは段階を経て進行していくといえます。
テスト(運用・保守・サポート)
【Mac OS】簡単なバッチファイル作成
そもそもバッチファイル(batch file)とは、Windows環境において実行したいコマンド列が記述されたテキストファイルです。拡張子が「.bat」のため、BATファイルとも呼ばれます。その他にも「.sh」拡張子も使用されます。Mac OSでは「.command」や「.sh」が拡張子になります。バッチファイルにコマンドを記述してその処理を順番に実行することを、バッチ処理と言います。つまり、バッチファイルに上からコマンドを書いていけば、その順番で実行されるということです。頻繁に実行する処理の一連の流れをバッチファイルに記述しておけば、いつでもまとめてその処理を実行できます。バッチファイルのコーディングには、RubyやPythonといったスクリプト言語が用いられます。
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【初心者用】Swingについて勉強したのでまとめてみた 第一回
Swing とは、 Java の GUI (グラフィカルユーザーインターフェース)を構築するためのフレームワークです。Swing は OS の GUI 画面を構成する部品に頼らずに独自に 画面を構成しているので、 実行環境の違いがなく、さらに実行環境で用意されている以上の 画面構成が利用可能となります。その反面、OS に元々備わっている画面の構成ではなくなるために動作速度が遅いなどの欠点があります。しかしながら、近年のハードウェアの進化などに伴い、動作速度の問題は大きなものではなくなってきていると言われています。そもそもJavaのGUIフレームワークとして最初に提供されたのはAWT(Abstract Windows Toolkit)ですが、AWTではテキストボックスやボタンなどのウィンドウ画面を構成する部品はOSの機能を利用していたため、Peerが処理を行っていました。こうしたPeerベースの構成となると、OSによって若干動作が異なったり、OSの不具合がJavaで作成したアプリケーションにも現れるなどの問題が発生することがあり、「一度書いたらどこでも同じように動く」と言うJavaの基本と若干の相違が生まれたため、Peerに頼らないアーキテクチャとしてSwingが生まれました。
【Java】ビルドツールについて学ぼう
Javaで開発を行う際、ビルドツールを利用された経験はありますか。Javaのビルドツールにはいろいろと種類があります。私はMavenとGradleしか知りませんでした。他に存在するビルドツールの種類についてや、メリット・デメリットについて記事作成を通して学んでいこうと考えてます。
JSTQBのシラバスを読む【第二章】
本記事ではJSTQB:Foundation Levelのシラバスを読んでいきます。ISTQBテスト技術者資格制度Foundation Level シラバス 日本語版 Version 2023V4.0.J01:https://jstqb.jp/dl/JSTQB-SyllabusFoundation_VersionV40.J01.pdf
【初心者向け】SQLの基礎について網羅的に学ぶ
WEBアプリケーション開発やスマホアプリ開発などを学ぶ際に切っても切れない関係にあるのがデータベースの知識となります。 こちらは前回の記事でざっくりと解説させて頂きましたが、今回はデータベースを操作するためのデータベース言語である、SQLについて解説した記事を書いていこうと思います。 SQLを使用することで、データベースに対して作成・更新・削除・参照などの処理を効率的に行うことが可能となります。 プログラミング言語とSQLの違いについては、プログラミング言語はJavaやPython等のコンピュータに関して指示を送るプログラミング言語なのに対して、SQLはデータベースに対して”のみ”指示を送ることが出来るデータベース言語となるので、実態としては全く別の物となります。 最初のうちは、ややこしいので理解に苦しむかもしれませんが、やっていく内に嫌でも覚えていくこととなるので、ご安心ください。 今回の記事ではSQLの基本的な部分や、データベースの選択方法などについて解説していきます! この記事を読むことで分かること SQLの基本的な操作方法 データベースの種類 データベースの選択方法 注意点 どのデータベースを使うにしてもSQLの概念等は同じなのですが、データベースの種類によって若干書き方が異なります。 今回は代表的なSQLの書き方を紹介するので、使用するデータベースのよって書き方が若干異なることを念頭に置いて頂ければと思います。
【初心者用】JavaScriptについて少しかじってまとめてみた
タイトル通り、JavaScriptについて勉強してみて、得た知識を軽くまとめていこうと思います。 初心者用、とある通り、極力専門用語は使わないか、噛み砕いて説明していきます。
【初心者用】JavaScriptをHTMLに読み込ませる2種類の方法について
WebサイトにJavaScriptで動きをつける方法で調べたところ、JavaScriptをHTMLに読み込ませる方法が2種類あることを知りました。 ・JavaScriptをHTMLファイル内にインライン(直接埋め込む形)で記述する。 ・JavaScriptのプログラムを別ファイルで記述し、HTMLに読み込ませる。 この2つですね。 今回は、 ・JavaScriptの読み込み方法についてと利点・欠点について ・試しに2通りの方法で簡単なツールを作ってみる。 について、説明していきたいと思います。
【初心者用】IISについて調べてみた
個人でプログラミングを勉強する際にIISを使用することになったのですが、「IISって具体的には何だっけ?」となったのでまとめてみます。 タイトルにある通り、初心者向けに極力噛み砕いて説明していきます。
【初心者用】ASP.NETのサーバーコントロールの種類をまとめてみた~検証コントロール編1~
ASP.NET Webフォームで使われるサーバーコントロールについてまとめてみたので、メモがてら記事にします。 それぞれのサーバーコントロールについて、固有のプロパティ等を具体例を交えてざっくり説明していきます。 (ID等の共通するプロパティは別記事で説明しているため、今回は取り上げません) 今回は、ユーザーが入力した値を確認・検証する検証コントロールについて説明していきます。 検証サーバーコントロールの種類は、以下になります。 ・CompareValidator コントロール ・CustomValidator コントロール ・RangeValidator コントロール ・RegularExpressionValidator コントロール ・RequiredFieldValidator コントロール ・ValidationSummary コントロール そのうち、今回は ・CompareValidator コントロール ・RangeValidator コントロール ・RegularExpressionValidator コントロール について説明していきます。 ※ValidationSummary コントロールは、一応検証コントロールに入れていますが、このコントロール自体は実際に検証を行ってはおらず、検証結果のメッセージをまとめて表示するものです。 サンプルコードの開発環境は、 ・Microsoft Visual Studio Community 2022 実行ブラウザは ・GoogleChrome です。
Springを使ったAPIの実装方法
そもそもAPIとは、簡単に言うと他社が作った機能を自社のサービスに簡単に取り入れることができます。 例として、自分が住んでいる地域の天気予報が知りたいときにAPIを利用すると、住んでいる地域の情報を引数として相手に教えてあげると結果として自分の住んでいる地域の天気予報データが取得できたりします。 他にも、運送業者などが荷物発送のタイミングでメッセージアプリのAPIを利用すると荷物の発送通知などが利用者に簡単に伝えることができます。 APIを利用すると自社システムの開発の工数を減らすことができ、API利用可能なサービスはAPIを利用することでスムーズに自社のシステムに取り入れることができます。 ただメリットばかりではなくデメリットもあります。 APIの仕様変更やサービスの停止でシステムがうまく動作しなくなったり、APIを運用しているサーバーで不具合があったときはAPIは利用できず APIを過剰に利用せず自社システムである程度対処できるようにしておくことも大事です。
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るAADとAADCについて
Azure Active Directory(以下Azure AD)とは、Microsoftが提供するクラウドベースで「認証」と「許可」を一元管理するサービスです。Azure ADで認証を行えば、連携しているシステムにログインなしでアクセスできるようになります。Azureアカウントで、他のクラウドサービスが利用できます。例:Dropbox、Slackなど
その他(インフラ)
DBの基礎と、Microsoft Accessについて
皆さんは”Access”(アクセス)という言葉を聞いたことがありますか? Accessとは、Microsoft社が運営するツールで、主にデータ抽出、集計処理や、業務システムの開発環境や動作環境として使われております。 企業向けというよりかは個人向けのデータベースソフトですが、多機能であり、データベース以外にも、外部のデータベースを参照してデータ抽出やデータ集計をするためのBI(ビジネスインテリジェンス)ツールとしてや、帳票作成機能を活用した業務システムの開発環境、動作環境としても利用されるシーンが多いのが特徴です。 また、AccessにはVBAが標準搭載されているため、プログラミングを行うことも可能です。 プログラミングを行うことで、上記の活用方法をより高度に、より便利に実装することができます。 ただ、機能が多すぎるため、新しくAccessの使い方を習得しようとする場合は、覚えることが多い分、それだけ学習コストが高めとなっております。 今回の記事では、そんなAccessの機能と一般的なデータベース知識の紹介を併せて行っていこうと思います。
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
【初心者用】AWS基礎⑥
前回はクラウドプラクティショナーの出題範囲のうちのAWSの主要サービスの識別分野のところを学習してきました。EC2、EBS、AMI、ELB、Lambda、Auto Scaling、S3、EFS・Storage Gateway・Snowball、VPC、Route53そのうちのS3まで、学んできました。今回はAWSの主要サービスの識別のEFSから学習していきたいと思います。●これから学習していく分野テクノロジー ・AWSの主要サービスの識別 ・テクノロジーサポートのリソースを特定請求と料金 ・AWSの様々な料金モデルの比較対照 ・AWS請求と料金に関連した多様なアカウント構造の認識 ・請求サポートに利用できるリソースの特定
その他(インフラ)
【初心者用】Linuxファイルシステムとは何か
【図解】初心者向けファイルシステムの基礎知識〜仕組み, OSとの関係, アクセス権との連携〜Linuxファイルシステムとは、コンピュータ上でデータを格納し、組織化するための仕組みです。ファイルやディレクトリ(フォルダ)などのデータを管理し、アクセスするための基盤となります。異なる種類のファイルシステムが存在し、それぞれ異なる特徴を持っています。
その他(インフラ)
セキュリティエンジニアに必要なスキル | 2年目からのロードマップ
デジタル化が進む現代社会では、個人情報や企業の重要な情報を保護するセキュリティエンジニアの役割が急速に重要視されています。特に日本においては、2020年の「JIPDEC(一般財団法人日本情報経済社会推進協会)」の報告によれば、セキュリティ監査を実施している企業は8割を超え、国内のセキュリティ意識の高さが垣間見えます。この背景には、企業のデジタルトランスフォーメーション(DX)の進展やテレワークの普及などにより、サイバー攻撃の標的となりやすい状況が増え、それに対応するためのセキュリティ対策の強化が求められているためです。しかし、セキュリティエンジニアは他のIT職種と比べて高度な専門知識が求められる職種であり、そのための教育・育成体制もまだ十分に整っていないというのが現状です。セキュリティエンジニアとしてキャリアを進める際は、このような市場の状況を理解し、自身のスキルを高め、資格を取得することで市場価値を高め、多くのチャンスをつかむことが可能になるでしょう。本記事では、セキュリティエンジニアとは何か、キャリアアップするには、どのようなスキルや資格が必要なのか、そして現在の業界の状況と平均年収についても解説します。
Salesforceエンジニアになるためには?必要な基本知識とスキル、ロードマップを解説
Salesforceエンジニアとは、Salesforceというクラウド型のCRM(顧客管理)システムを開発・運用するエンジニアのことです。主に、Salesforceの機能やカスタマイズを行い、企業のビジネスニーズに応えるシステムを構築する仕事です。この記事では、高い需要と高い報酬を得られる職種として注目されている、Salesforceエンジニアの仕事内容や将来性について解説します。
【初心者必見】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/
【エンジニアになりたい人必見!】データ構造とアルゴリズム
今回は、データ構造とアルゴリズムについてまとめました。エンジニアになりたい方に、欠かせない内容となっています。ぜひ最後までお読みください!
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
