忍者ブログ
Calendar
<< 2024/09 >>
SMTWTFS
1234 567
891011 121314
15161718 192021
22232425 262728
2930
Recent Entry
Recent Comment
Category
1   2  
カテゴリ: | 2024-09-16 (Mon)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 プログラムのホワイトボックステストのテストケース設計で、テストカバレッジの話が出てきます。命令網羅・分岐網羅・条件網羅とか、C0網羅、C1網羅、C2網羅とかの用語で出てくるアレです。

 ところが、文献やWebサイトによって、その内容がまちまちになっています。例えば、
 if ( a = 1 && b = 2) {
   処理1を実行;
 } else {
   処理2を実行;
 }
という部分があるとき、条件網羅のテストケースはどうなるでしょう。

 (a = 1, b = 2)をテストケースとして処理1が実行されることを確認するのは、異論ありません。

 処理2の部分はどうするべきか。(a = 0, b = 0)をテストケースにすればよいとする文献もあれば、(a = 1, b = 0), (a = 0, b = 1)もテストケースに加えるとしている文献もあります。

 もちろん、AND条件とOR条件を誤って ( a = 1 || b = 2 ) とプログラミングした場合、(a = 0, b = 0) だけではバグに気付かないので、テストそのものとしては(a = 1, b = 0), (a = 0, b = 1)も行うのがよいでしょう。

 テストカバレッジは、Edward F. Miller,Jr. により1970年代に提唱された概念です。しかし提唱者本人がC0とかC1とかの定義をたびたび変更したので、今日まで混乱を引きずっているようなのです。1977年の“Program Testing: Art Meets Theory” を見ると、C0は“Programmer's intuition” (プログラマの直感)なんて書いてあるので、命令網羅でさえありません。

 用語の定義がぶれている以上、試験問題には使わないほうがいいのかなと思います。最近の情報処理技術者試験では使われていないかも?
PR

 今日、基本情報技術者試験とITパスポート試験の合格発表がありました。

 大丈夫だろうと思いつつ成績照会したところ、午前 98.75点、午後 95.50点でした。自己採点どおりですね。午前は80問のうち1問だけ間違えたので、1.25点の減点。午後は配点が分かりませんが、2問間違い(1問はマーク忘れ)なので、このくらいでしょう。

 それから、私が教えた専門学校の学生が受験したITパスポートの結果も重要。全国の専門学校生全体の合格率が18.8%という低さでしたが、私の教え子はそれよりは十分に高い合格率でした。ま、よかったです。

 ところで海江田さんが辞める辞めないと騒がれていますが、合格証書の大臣名は海江田さんで確定でしょうか?? 合格発表日が合格証書交付日でない可能性もありますので。有名な大臣の名前が入っている合格証書のほうが、なんとなく有り難みを感じます。
 

 昨日、基本情報技術者試験を受験してきました。震災の影響で、先々週の応用情報・高度試験と別日程になったので、追加で願書を出していました。
 会場は摂南大学で、こちらから見ると淀川の対岸側で、京阪寝屋川市駅からバス利用なので、微妙に不便な場所です。朝からかんかん照りの快晴だし、受験前に疲れたくなかったので、隣の香里園駅からタクシーに乗りました。混雑しないし900円だったので、正解です。バスなら1人220円なので、3~4人で同乗できるなら絶対にタクシーがよいでしょう。
 午前は、80問中79問正解でした。問2の相対誤差の意味を知らずに間違えました。
 午後は、2問が不正解でした。1問はふつうに間違えたのですが、もう1問はマークせずに不正解にしてしまいました。答が分からずに、あとで考えようと思っていたら、そのことを忘れたまま、途中退出して答案を提出してしまいました。頭が疲れていると、そういうミスをするということです。
 マークミスさえなければ合格だと思いますが、プロマネとの「2枚抜き」が成功していればなあ。
 

(その1)(その2)からの続きです。

【基本情報技術者試験】
 基本情報については、IT関連企業の社会人の応募者数の増加が目立っています。
 学生はそれほど増えておらず、学校種類別に見ても、ITパスポート試験のような傾向は見られません。学生にとって基本情報は学習期間が長いため、3ヶ月前に思い立って急に受験するようなことが少ないためと思われます。 


基本情報技術者試験の属性別の応募者数増減
属性 延期前 延期後 増減数 増減率
社会人 60,913 63,169 +2,256 +3.7%
 ソフトウェア業 18,321 19,437 +1,116 + 6.1%
 情報処理業 12,362 13,110 +  748 + 6.1%
 コンピュータ製造・販売業 1,691 1,758 +    67 + 4.0%
 その他社会人 28,539 28,864 -  325 - 1.1%
学生 24,552 24,832 +280 + 1.1%

 社会人について、業務経験年数別に見てみます。(経験年数が無記入の人数は除外)

基本情報技術者試験の経験年数別の応募者数増減
業務経験年数 延期前 延期後 増減数 増減率
経験なし 768 864 + 96 + 12.5%
1年未満 6,150 7,228 + 1,078 + 17.5%
2年未満 4,432 4,553 + 121 + 2.7%
2年以上 4年未満 7,557 7,766 + 209 + 2.8%
4年以上 6年未満 5,272 5,489 + 217 + 4.1%
6年以上 18,508 18,594 + 86 + 0.5%

 これは傾向と理由がはっきりしています。IT企業の新入社員(=業務経験なし or 1年未満)で、4月に入社してから追加応募した人が多くいたのです。もちろん、入社前に願書を出した人もいるでしょうが、4月の研修が始まってから会社からの指示で願書を出すよう言われた人も多かったと思われます。

 なお、延期後の「1年未満」の人数には、2010年度入社で延期前に願書を出した人と、2011年度入社で延期後に願書を出した人が混在していることに注意が必要です。延期前と延期後で、経験年数に1年のずれが生じます。また、2011年度の新入社員で、入社前に願書を出した人は、学生の人数に計上されています。
 

 よく聞く説明に「コンピュータは0と1で動いている」というのがあります。半分は正しいけれど、半分は正しくない。例えば、CPUでは電気が流れているか流れていないか、メモリ(DRAM)では電気が溜まっているか溜まっていないか、ハードディスクでは磁化されているか磁化されていないか、という物理状態で情報が保持されています。いろいろな物理状態を抽象化して、0と1という2値に置き換えて考えています。0と1は人間の概念であって、コンピュータ内部に0と1という数字があるわけでないのです。
 仕事柄、情報の前提知識のない学生や新入社員に2進数を教えることがよくあります。情報基礎科目の最初がこれだから、いきなり2進数の話をすると、受講生はカウンターパンチを食らってしまいます。

 そこで私は、物理状態ということから話を始めます。物理状態にはいろいろあるけれど、「話を分かりやすくするため、○と●で区別をしましょう」と言います。実際にマークシートは、○(塗っていない)、●(塗っている)の2つの物理状態で区別をしています。
 マルが1個なら○と●の2種類を表せるので、これを世の中の2種類ある物事に対応付けます。例えば、○=男性、●=女性とすれば、性別を表せます。
 マルが2個なら○○、○●、●○、●●の4種類を表せます。例えば、○○=晴、○●=曇、●○=雨、●●=雪とすれば、天気を表せます。
 マルが3個なら8種類の物事を区別できます。○○○=水星、○○●=金星、○●○=地球、○●●=火星、●○○=木星、●○●=土星、●●○=天王星、●●●=海王星とすれば、8惑星を表せます(冥王星は惑星から除外されましたね)。

 でも、○と●をいちいち書くのは面倒だし、区別できれば何でもいいので、○の代わりに0、●の代わりに1と書くことにしたらどうでしょう? と提案します。そうすると、0=男性、1=女性とか、00=晴れ、01=曇、10=雨、11=雪などと表せます。この0と1は数字ではなく、2つの物理状態を抽象化した記号だと思ってください。一つのマル、言い換えれば一つの0又は1のことを、ビットと呼びます。

 さらにマルを4個使えば16種類の物事を区別できるのだけど、性別とか天気とかの具体的事例でなく、人間世界の16種類の数(0から15までの整数)を区別するのに使ってもいいよね? と提案します。そうすると、

○○○○ (0000) = 0
○○○● (0001) = 1
○○●○ (0010) = 2
○○●● (0011) = 3
○●○○ (0100) = 4
○●○● (0101) = 5
○●●○ (0110) = 6
○●●● (0111) = 7
●○○○ (1000) = 8
●○○● (1001) = 9
●○●○ (1010) = 10
●○●● (1011) = 11
●●○○ (1100) = 12
●●○● (1101) = 13
●●●○ (1110) = 14
●●●● (1111) = 15

と対応付けることができました。左側はコンピュータ世界の数、右側は人間世界の数です。コンピュータは2種類の数字しか使わないので2進数、人間は10種類の数字を使うので10進数と呼びます。こういうふうに話を持っていくと、2進数と10進数の関係をすんなり理解してもらえます。

 震災の影響で情報処理試験が延期になり、追加の願書受付が始まったので、基本情報技術者試験で新たに願書を出しました。6月28日のプロジェクトマネージャは受験しますが、ITパスポートと基本情報だけ7月10日実施になったので、期せずして併願可能となったのです。
 1994年4月に京都産業大学で、かつての第二種情報処理技術者試験を受験して以来の再受験になります。当時は午後試験が選択式でなく記述式であり、プログラミング言語にJavaはなくFORTRANがありました。私はC言語で受けるかFORTRANで受けるか決めていなくて、試験問題を見てFORTRANにした覚えがあります。
 久々に2進数の問題とかアルゴリズムの問題を目にすると、頭がくらくらしそうですが、もちろん合格を狙います。できれば満点狙いで。

 4月になって新規の願書が出せることになりましたので、新入社員や、大学・専門学校の新入学生が多く受験することが考えられます。どのくらいの追加応募があるかによりますが、基本情報、ITパスポートとも合格率が低下する方向に影響すると思います。また、基本情報の受験者が力試しに、応用情報に追加応募する可能性もありますので、応募者数によっては応用情報の合格率も低下する可能性があります。

基本情報技術者合格テキスト 今回新たに、『1回で受かる! 基本情報技術者合格テキスト '11年版』(成美堂出版)が発売になりました。
 私は共著者として執筆に加わっていますが、残念ながら表紙に名前がなく、奥付に書かれているだけです。基本情報技術者の参考書はたくさんありますが、どれがいいかは、前提知識や業務経験によって大きく異なります。この参考書は、どちらかと言えば、ある程度の前提知識がある人向けだと思います。
 これで、今月2月だけで4冊の著書が発売になりました。もちろん執筆は別々なのですが、発刊時期が偶然に重なりました。


プロフィール
HN:
Keiji
性別:
非公開
カレンダー
08 2024/09 10
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
最新コメント
[11/25 ぷらら]
[08/29 User Unknown]
[08/29 User Unknown]
[08/29 二村]
[08/29 User Unknown]
ブログ内検索
カウンター
アクセス解析
Template & Icon by kura07 / Photo by Abundant Shine
Powered by [PR]
/ 忍者ブログ