Home > Program -プログラム言語- ブログ記事 一覧

Program -プログラム言語- ブログ記事 一覧
ソフトウェアの品質向上に欠かせない「テスト工程」
- 2011年7月21日 10:57
- Program -プログラム言語-
【こちらの記事は、約6分程でお読みいただけます。】
皆さん、いつもKENスクールのブログを
ご観覧いただき、ありがとうございます!
KENスクールではつい先日まで、新人研修を複数の企業で
実施させていただいておりました。研修を依頼する企業様の
新人社員にかける期待は、さぞかし大きいものでしょう。
毎日小テストを実施されて評価されて…それはそれは大変そうでした^^
Webプログラミング技術の習得は、当然のことながら
「設計技法」「テスト技法」「プロジェクト演習」 と
「モノづくりは、作ればいいってもんじゃないんだぞ!」
ということを知ってもらい体感するために、
カリキュラムも年々本格的になってきているような気がします。
ソフトウェアを提供する企業にとっては、その「品質」が最重要課題!
今回は、「品質」を向上するために避けては通れない工程、
「テスト」の基本中の基本を取り上げてみたいと思います。
まずはその第一歩目と言ってもいい、テストのための準備!
プログラミングを勉強中の方々に、是非知っていて欲しい
「制御フローパス」の抽出方法に関して書きます^^
実際に新人研修のカリキュラムとして、実施している内容を
みなさんにお裾分けです。
情報処理試験の勉強にもなりますよ♪
「制御フロー」とは、プログラムの処理の流れ…、
制御の通り道をパターン化したものです。
例えば、次のようなプログラムがあったとします。
※Java言語で書かれたメソッド(関数)の抜粋です。
プログラムは、 こちら をクリック!
このプログラム(上記リンク:プログラム文)には、
条件分岐(6.行目)がありますので考えられる処理の流れ…
「制御フロー」は、
次のような「制御フローダイアグラム」で表現できます。

この制御フローダイアグラムから制御の通り道…
つまり「制御フローパス」を抽出してテストを実施していきます。
考え方の一つとして…
「命令文を全てテストする!」という考え方があります。
要するに…次のようなパスをテストすれば、すべての命令文(処理)を
チェックすることができるじゃないか♪ というものです。

何を基準にテストを実施するのか…
この基準になる考え方を「網羅基準(カバレッジ)」と言い、
「命令文を全てテストする!」という考え方は「命令網羅」と言います。
最も基本的な基準ということで「C0網羅」とも言います。
全ての処理を通れば問題ないだろう!という考え方で、
ごくごく自然なテスト基準のように見えますね。
ですがこの基準では見落としがあります!
次のパスに関してはチェックしていませんよね。

条件分岐の「false」のパスをチェックしていないことになってしまうため、
全てのパスパターンをテストするに至りません!
そこで「C0網羅」よりもしっかりした基準でテストを
行わなければなりません。
「条件分岐のtrue、falseを最低1回はテストする!」という基準である
「分岐網羅(C1網羅)」を実施することで先程の問題を解消します。
ここで注意していただきたいのは…この網羅基準は
「true、falseの全てのパターン(組み合せ)をテストする」
ということではありません。
あくまでも「true」「false」を1回でも通る組み合せのみをテストする
ということです。
「true、falseの全てのパターン(組み合せ)をテストする」という
網羅基準は「全パス網羅(C∞網羅)」と言います。
「C∞網羅」のパス数は、2の階乗…つまり分岐が2つの場合は4(2の2乗)
分岐が10ある場合は1024(2の10乗)ということになってしまいます。
つまり…「C∞網羅」は現実的ではないんですね。
さて、ご紹介してきた…
・ 「制御フローパス」の抽出
・ 「制御フローダイアグラム」の作成
・ 網羅基準の選択
…これらはプログラムの制御の流れが正しいかどうかをテストする技法で
「ホワイトボックステスト」と言います。
ソフトウェアの「品質」を向上させるためには、行うべきテスト技法です。
しかし、当然全てのメソッド(関数)という単位で実施することは、
時間的にも不可能!「ホワイトボックステスト」は、
特に重要と思われるプログラムに対して実施することになります。
ソフトウェアの「品質」向上のためには、可能な限り時間を割くことが
理想ですね。
プログラム勉強中の方にとっては、
制御の流れをつかみながら、プログラムを読むと良い訓練になるので、
ぜひぜひ「制御フローパス」を意識してプログラミングするよう
心がけてみてください!
最後に自分の先輩に当たる方の言葉を。
「部下の評価(テスト)と同じ。
評価は常に偉い人(上司)がやる重要な業務。
馬鹿にしてはいけないわけだ。」
納得ですね。^^
--------------------------------------------------------------------------------
IT業界への就転職に向けて、KENスクールで一から学習していきませんか??
⇒【無料のマンツーマン体験レッスンを受けてみよう!】
KENスクールでは、プログラムが初めての方でも、
安心して学習していただける環境です!
プログラムとは何か?から始まり、様々な場面に利用されている
プログラミング技術を分野ごとに分かりやすくご紹介します。
是非、無料体験レッスンを受けてみてください!!
本日の更新者:
パソコンスクール KENスクール Programコース
インストラクター 佐藤
- Comments (Close): 0
- TrackBack (Close): 0
Ada - 史上初のプログラマーは女性だった!?
- 2011年4月11日 17:40
- Program -プログラム言語-
【こちらの記事は、約2分程でお読みいただけます。】
皆さんは、「Ada」という言葉を聞いたことがありますか?
Ada(エイダ)とは、プログラミング言語のひとつで、
アメリカ国防総省が航空機や兵器などに組み込む、
組み込み型コンピューター用に制定した言語のことです。
PASCALの影響を受け、並列処理や例外処理の機能を持ち、
リアルタイム処理プログラミングに適している言語です。
NASAの宇宙ステーション計画などで使われ活躍したようです。
プログラミング言語の名前の由来は様々ありますが、
Adaの由来を聞いて、驚きました。
史上初のプログラマーといわれている
女性の名前が付けられているそうです。
史上初のプログラマーが女性、というのはなんだかとても意外でした。。
日本のIT技術者の中の女性の割合はまだ10%以下なのだといいます。
アメリカやインドではだいたい25%くらいだそうです。
他の国に比べると女性の割合が少ないようですが、
日本Androidの会女子部を始め、IT企業の社長にも女性がいらっしゃいますし、
様々な所で積極的に女性技術者が活躍しています。
女性エンジニアには元々プロジェクトマネジメント力や
コミュニケーションスキルがある方が多いと言われていますので、
これからもっとIT分野で女性が活躍するようになるのではないかと
言われています。
男性も女性もそれぞれの特性を生かして、
日本のIT技術をどんどん磨いていけるようにしたいですね。
世界初の女性プログラマーについて詳しく知りたい方は
こちらをご覧ください。
http://allabout.co.jp/gm/gc/296876/
--------------------------------------------------------------------------------

女性活躍の場がIT業界で拡大中です!この機会に、
KENスクールで「プログラム」を一から学習していきませんか??
⇒【無料のマンツーマン体験レッスンを受けてみよう!】
KENスクールが最も得意とする分野が「IT業界未経験者就転職」です。
就職サポートは「エンジニア経験」と「人材紹介経験」の両方をもった
専任キャリアコーディネーターが対応します!
他社には絶対に真似できないIT企業との太いパイプは、
自社社員の技術力が証明しています。KENで一緒に未来を目指しましょう★
本日の更新者:
パソコンスクール KENスクール Programコース
インストラクター 木原
- Comments (Close): 0
- TrackBack (Close): 0
Webアプリケーション用言語:Python(パイソン)
- 2011年4月 4日 23:17
- Program -プログラム言語-
【こちらの記事は、約2分程でお読みいただけます。】
Webアプリケーションを作成するプログラム言語ではPHPが有名ですが、
最近ではPHPと同じく話題にのぼっている『Python(パイソン)』という言語があります。
ご存知でしたか??
今回はこのPythonについて、簡単に解説していきたいと思います。
Pythonは約1990年頃、
オランダのGuido van Rossum氏が開発した言語です。
オープンソースのプログラミング言語であり、
Javaと同じくオブジェクト指向を用いています。
コーディングはJavaと同じ感覚ですが、Pythonには
・変数の型を宣言する必要がない
(変数ではなく値独自に型を持たせているため)
・コンパイル作業が不要(インタプリタでの実行)
といった違いが、多数あります。
PythonはPHPのように、
Webプログラミングに特化したものではなく、
あらゆる面で活用できる汎用性も高く評価されています。
また、C++やC言語によるPythonの拡張も可能と言われています。
JavaとPythonの記述方法の違いを簡単にですが見ていきましょう。
・条件分岐及び表示
【Javaでの例】
if(hoge == 0)
System.out.println("サンプル");
【Pythonでの例】
if hoge == 0:
print u"サンプル"
ただ『サンプル』と表示するだけプログラムですが、
記述量が少なく、シンプルな内容ですね。
このシンプルさだけでなく、汎用性・拡張性・柔軟性に
富んだ言語であるため、一個人としても非常に興味深く感じています。
今後の展開がとても楽しみです!
皆さんもぜひこの言語、チェックしてみてくださいね!^^
--------------------------------------------------------------------------------
Webアプリケーション構築に向けて、KENスクールで一から学習していきませんか??
⇒【PHP講座】
ショッピングサイトなど、主に中小規模Web開発においてニーズの高い
「PHP」プログラミング技術を学習する講座です。
個別授業で学習するので、プログラム初心者からでも安心して取り組む
ことができます。基礎からはじめ、MySQLを使用しデータベースとの
連携まで、しっかりと身に付く実習形式で学習します。
本日の更新者:
パソコンスクール KENスクール Programコース
インストラクター 竹内
- Comments (Close): 0
- TrackBack (Close): 0
プログラムの書き方とスパゲティプログラム
- 2010年7月 6日 11:11
- Program -プログラム言語-
今回はプログラムの書き方と
スパゲティプログラムについてお話します。
プログラムは見やすく正確であり
実行する順序を追いやすいように作成します。
プログラムは最終的な結果がよければ良いというわけではなく
エラーが発生した時に原因を発見しやすいように
書き方に注意する必要があります。
さらに、
プログラムは1人ではなく複数人で作成することも多々ある為
他の人でも順序を追いやすく作成すると作業効率も上がります。
綺麗に書くメリットは多くあります。
まだプログラムの勉強をし始めたばかりの方には、
実際の現場に出ても恥ずかしくないように
日ごろから綺麗に書くよう意識をして頂きたいです。
さて、最初に掲げたスパゲティプログラムですが、
『実行する順序が複雑であり、整理されておらず
酷く絡まりあっている様をスパゲティにたとえて
名づけられた』
とされています。
私は最初に耳にした時に、どんなプログラムかと思いましたが
今ではスパゲティにならないよう細心の注意を払っています。
生徒の皆さんにプログラムを入力していただく時も
最初の段階や普段の入力で正しいプログラムの書き方をご案内しています。
自分なりの書き方や癖は出てきてしまうものですが
最初が肝心なのです。
最初に正しくプログラムを入力することによって、
学習速度や理解度にも影響が出てきます。
細かいことですが確実に皆さんの力になる部分となりますので、
私たちと一緒に綺麗なプログラムを作成していきましょう!!
ちなみに…
私はトマトの入ったスパゲティが大好きです…♪
--------------------------------------------------------------------------------
パソコンスクール KENスクール新宿校 Programインストラクター
http://www.kenschool.jp/school/shinjuku/index.html
KENスクールで正しいプログラミングを学びたい方は、Program講座へ!
http://www.kenschool.jp/Program/index.html
- Comments (Close): 0
- TrackBacks: 0
Ruby資格認定制度
- 2008年9月26日 13:24
- Program -プログラム言語-
今回は、プログラム言語の試験情報を記事にしてみます。
プログラム言語「Ruby」の正しい知識を習得した
エンジニアであることを証明し、
Ruby言語を使用したシステム開発の普及と発展を目的にした
Rubyの資格試験制度の第1回試験が、
2007年10月27日、島根県松江市で行われました。 
この認定試験は、
Ruby言語開発者まつもとゆきひろ氏が理事を務める
Rubyアソシエーション監修のベンダー試験です。![]()
Rubyアソシエーションから委託を受けた
伊藤忠テクノソリューションによって運営されています。![]()
開始当初、試験日と試験会場が限定されていましたが、
2008年2月25日より、
サン・マイクロシステムズ社やOracle社などの認定試験も取り扱う、
プロメトリック社と契約を結び、
オンライン試験が可能になりました。 
おもな試験概要は以下の通りです。![]()
■試験名称:Ruby Association Certified Ruby Programmer
■試験方法:コンピュータ試験
■試験時間:90分
■問題数 :50問
■受験料 :15,750円
認定試験に合格すると、
Rubyアソシエーションより認定証が交付されます。
更に、Ruby Association Certified Ruby Programmerには、
Oracle社のOracle Masterのようにレベルが存在し、
レベルの名称もどこかOracle Masterを彷彿させます。
■Ruby Association Certified Ruby Programmer Silver
■Ruby Assosiation Certified Ruby Programmer Gold(仮称)
■Ruby Assosiation Certified Ruby Programmer Platinum(仮称)
現在、プログラマーの知識を認定するベンダー試験は、
サン・マイクロシステムズ社によってJava言語の知識を認定する
Sun Certified Programmer for Java 2 Platform 5.0(SJC-P5.0)
などが広く知られています。
試験時間や受験料も比較的手ごろでもあり、
同じ位置付けで、Ruby認定資格が広く認知される日は
近いのかもしれませんね。
そして個人的には、
資格名の略称がどのようになるのかも興味があるところです。
機会があれば、私も挑戦してみたいです。 
- Comments (Close): 0
- TrackBacks: 0
JAVAの今後
- 2008年4月16日 22:31
- Java | Program -プログラム言語-
JAVAがこの世に登場してから、早十数年が経ちました。
今では、ビジネスなどで使われる大規模なサーバーサイドアプリケーションを作るとき、
JAVAを使うという流れが定着しています。
そんなJAVAですが、当スクールでは最新の資格、SJC-P 5.0(TIGER)を開講しております。
やはり、学ぶなら最新の技術を!ということで、
今からJAVAを学ぼうと思っている方も、旧バージョンでバリバリコーディングしていた人も、
無理なくTIGERに移行していける内容となっております。
何はともあれ言語は文法をきっちり理解するところから始めないと、
後でとんでもないしっぺ返しを食らってしましますので、
是非、トライしてみてはいかがでしょう。
さて、話が脱線してしまいましたが、ここで今回のテーマである
JAVAの今後について話していきましょう。
こんな話があります。
今やPHPやRubyなど、数々のWebアプリケーションを作成する言語(スクリプト)が登場してきているが、
大量のトランザクションを一気に引き受けられる仕組みが作れるのは、結局JAVA以外ありえない。
また、セキュリティーなどを考慮した設計が明確に行えるのも、JAVAに優位性がある。
つまり、見た目上同じようなWebアプリケーションであったとしても、
見えない部分でJAVAの方が質が高く、信頼性が高いということです。
企業は、信頼で仕事をしています。信頼性の低いシステムになる可能性があるものよりも、
長年信頼を獲得し続けてきた、JAVAの方を使いたがるということです。
ということで、JAVAはまだしばらくの間、ビジネスシステムの中枢部分を担っていくことでしょう。
- Comments (Close): 0
- TrackBacks: 0
Home > Program -プログラム言語- ブログ記事 一覧


