IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第50回は、イタリア発のRTOS「BeRTOS」を紹介する。
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第50回は、イタリア発のRTOS「BeRTOS」を紹介する。
最初にめどい言い訳をせねばならぬ俺は江島氏ともきょん氏とも面識はないですが、お二人ともが俺のことを知ってることを俺も知ってる程度には狭い業界であり。どちらかに肩入れしたいわけではないです。喧嘩したいわけでもないです。普段あまりここでは言及しないですが俺は今の仕事としてはテストを書いたりテストを実施したりする係をしてノリクチをしのいでおり、いわばテストは本業ですので、テストに言及することは今現在の同僚に対して意図しない受け取られ方をする可能性があるので困るので、それもあって普段はここではあまりテストの話はしないわけだが、だからと言って沈黙を破ってテストの話をするのが同僚に対して含みがあるというわけでもないです。とはいえ俺は大学等で真面目にソフトウエア工学の講義を受講したことがなく、経験と勘と昔取った杵柄だけで食ってるので、そういう意味では若干の後ろめたい気持ちもある。で、テストって何なん俺が
CUnit とは、C言語開発において単体テストを支援する 「テスティング・フレームワーク」です。 もちろん、きちんとした設計者であれば、 CUnit のような仕組みがあろうと無かろうと、 自分で作った分の設計者テストは言われなくても実施するでしょうし、 組織としてきちんとしていれば、すでに何らかの仕組みは構築しているでしょう。 ですが、もし今まで単体テストをチーム内の各設計者が バラバラに実施していたということであれば、 CUnit を試してみる価値はあります。 また、XP(eXtreme Programming) のようなスタイルを構築したいと思っているのであれば、 CUnit を必須、としてしまうのも一つの手です。 ここでは、Cygwin 環境に CUnit をインストールして使ってみます。 導入 テスト環境の概説 使ってみよう アサート・マクロ テスト・レジストリ テスト・スイート
ソフトウェアテストの30年前と30年後(後編)~30年後のテスト技術、期待を込めた予想 JaSST'12 Tokyo 先週、1月25日と26日に都内で行われたソフトウェアテストに関するシンポジウム「ソフトウェアテストシンポジウム JaSST'12 Tokyo」。2日目の招待講演では、ソフトウェアテストの過去を振り返り、将来を展望する非常に興味深い話を、東海大学大学院 山浦恒央准教授が行いました。 講演の内容をダイジェストとして紹介します。 (この記事は「ソフトウェアテストの30年前と30年後(前編)~テストの根幹は30年前に書かれた JaSST'12 Tokyo」の続きです) ソフトウェア製品の品質のレベル分けが行われる 30年後のソフトウェア開発技術とテスト技術について。予想というか、こうなってほしいという期待を交えた話をしようと思う。次の4つがその予想だ。 まず、各ソフトウェア製品がど
私は1977年入社。約30年前となる当時と今では、ソフトウェアテストはものすごく大きく変わった。この30年を振り返り、これから30年後にどう変わるか、という予想を紹介したい。 これがソフトウェア開発技術の歴史をざっくりと示した技術マップ。 一番左は1964年。仮想記憶を使った初めてのメインフレーム用OS「OS/360」の開発。これは人類史上最初で最後の超巨大プロジェクト。当時で5000人年、だいたい1200人が4年間働いた。 これはコンピュータが大発展する礎になるのだが、プロジェクトとしては大失敗だった。このときのプロジェクトマネージャがフレデリック・P・ブルックス Jr.氏。 1968年には「ソフトウェア工学」という言葉が誕生した。まだ言葉だけだが。このころ主流はアセンブラ言語。FortranとCOBOLが登場し、サブルーチンという概念が出てきて、これを使うとソフトウェアが格好よくできる
クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ
TDD(テスト駆動開発)のチートシートを作ってみた。 TDDBCでid:t-wadaさんが話している内容とかテスト駆動開発入門から引っ張ってきています。 ダウンロードはこちらからどうぞ。 PNGイメージ: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.png PDFファイル: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.pdf 追記 印刷・再配布などはご自由にどうぞ。 もし、元データ(OmniGraffle)が欲しいという人は、コメント欄かTwitter経由で教えていただければ差し上げます。 追記2 このチートシートは、OmniGraffleで作りました。他に使えそうなツールとしては、イラレとか。Visioでもたぶん作れると思います。
The Geek Stuff How to Debug C Program using gdb in 5 Simple Steps - The Geek Stuffにおいてgdbを使ったCプログラムの基本的なデバッグ方法が紹介されている。あらかじめ問題を仕込んである短いCのソースコードと、それをデバッグオプション付きでビルドして、実際にどのようにデバッグを実施すればいいかが簡潔にまとまっていて参考になる。同記事では次のようなCで記述したソースコードを用意。 階乗計算プログラムをデバッグする例 このソースコードは階乗を計算するという内容。「for (i = 1; i < num; i++) j = j * i」の部分が階乗計算部分だが、変数jが初期化されていないため階乗の計算になっていない。jにどういった数値が入っているかは実行する環境によって左右される。How to Debug C Pro
ソフトウェアの開発を行うときに、まずテストケースを先に作ってから機能を作り込む「テスト駆動開発」(Test-Driven Development:TDD)。これにより、ソフトウェアの開発工数や品質にはどの程度の変化があるのでしょうか。 TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ この疑問について調査した論文を、奈良先端科学技術大学院大学 助教の森崎修司氏が3月10日のブログ「国立大学法人奈良先端科学技術大学院大学 助教」のエントリ「TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社」で紹介しています。 開発時間はやや増えたがコードの品質は上がった 論文全文は有料なので読めないものの、森崎氏のブログによると次の知見が得られたとのことです。まず、ソフトウェ
先日、twitter上でTDDに関する談義があったのだけれど、気になったのがそれに対するテストや品質の方々の反応。特にTDDの戒めである「品質保証を目的としていない」という書き込みに対してネガティブな反応が多かったのが気になった。 開発経験もあり定義や概念の扱いに注意深い方々なので誤解の可能性はないと思うが、結構問題が入り組んでいるように感じたので、今回テストエンジニアと開発者の視点の差異を焦点にして一部の論点を整理したいと思う。 開発者のいう品質保証の定義 まずTDD談義で開発者が「品質保証のためのテスト」「品質管理のためのテスト」などと呼んでいるテストの定義は、乱れや不統一感も多少あるけど、基本的にKent Beckや和田さんが使われているQAテストの定義によるもの(http://gihyo.jp/dev/serial/01/tdd/0003)。 この定義で「品質保証のための単体テスト
二日目だけ、参加してきました 強く印象に残ったところだけ書きます。 当日の発表資料は下記にどんどん追加されていくようです*1。 404 error. Page Not Found. 【19-B-3】三周遅れのXP -僕とドワンゴのXP- id:Yoshiori さんのTDDの話。個人的に一番刺さったのはこの発表でした。 タイトルについて 1週目はケントベックが道を作った 2週目は角谷さんたちが道を広めた そして今僕たちは三週目(だから正確にはタイトルは間違っていて、二週遅れ) 3週目の僕たちは高速道路を作る 「XPの4つの価値」を実現するための方法 コミュニケーション(チームで気軽にコミュニケーションできるように"おやつ神社"というのがある) シンプルさ フィードバック 勇気 TDDとは(極端に言えば) 開発手法であって、テスト手法ではない リファクタリングできれいなコードにしていくための
家庭用ゲーム機の劇的な進化がゲーム開発をより困難にしている? 1983年に任天堂の「ファミリーコンピュータ」が登場し、社会現象を巻き起こしてから約26年。家庭用ゲーム機は飛躍的に進化を遂げ、現在の最新機であるソニーの「プレイステーション 3」(以下、PS3)、マイクロソフトの「Xbox 360」などでは、CGを駆使してまるで実写のようなリアルな映像が楽しめるゲームタイトルが次々と生み出されている。 こうした家庭用ゲーム機の進化に伴い、ゲームソフトの開発を手掛けるメーカーにとっては「より高品質なゲームタイトルを、より短納期に開発する」ことが求められるようになった。そのため、その開発プロジェクトも従来とは比べものにならないくらい規模が大きくなった。これが「開発工数とプログラムコード行数の増大によるバグの大量発生」など、さまざまな問題を引き起こしており、ゲーム業界全体の重大な課題となっている。
前回はテスト工程の最初の段階である単体テストについてご紹介しました。単体テストの次は統合テスト(結合テスト)、システムテストと続いていきます。これらの工程でのテスト内容は、対象とするシステム形態やドメインによって異なってきます。 今回は、皆さんがユーザとして活用しているWebアプリケーションを対象に、統合テストやシステムテストで実施するテスト内容について紹介し、中でもアプリケーションの「機能」に着目したテストの観点について掘り下げて紹介します。 Webアプリケーションのテストの特徴 皆さんは普段の生活の中でもWebアプリケーションを利用する機会が多いと思います。情報ポータルサイト、検索サイト、オンラインショッピング、オンラインバンキング、掲示板、ブログ、SNSなどさまざまなWebアプリケーションを使っていることでしょう。また最近は、パソコンだけでなく携帯電話からも実行できるアプリケーシ
はじめに プロジェクトの終盤にさしかかるテスト工程では、期間的にも予算的にも切迫した状態となる場合が多いのではないでしょうか。そういった状況ではとくに、どんなテストで何を確認するか、という「テストケース」は無駄なくそして漏れなく作成したいものです。連載の第3回目となる今回は、テストケース作成技法の1つ、ホワイトボックステストについて取り上げます。 ホワイトボックステストとカバレッジ ホワイトボックステストは、テスト対象の構造に着目してテストケースを作成する技法です。設計や実装の内容から内部構造(処理経路)を網羅するようにテストケースを作成します。そして、作成したテストケースは、どれくらい処理経路を網羅しているかを評価することが重要です。この処理経路の網羅度合についての基準をカバレッジ(網羅率)といい、ホワイトボックステストでは、目標とするカバレッジを満たすように効率よくテストケースを設計し
特集:UIオートメーションによる自動UIテストの実践 WindowsアプリのUIテストを自動化しよう クロノス 亀野 弘嗣 2008/06/03 読者の方々は、UI(ユーザー・インターフェイス)にかかわるテスト(以下UIテスト)を自動化できているだろうか? UIテストを自動化しようとしても、UIテストのコードは記述しにくく、記述方法に一貫性がない、などの理由から、自動化をあきらめる場合が多いのではないだろうか。 .NETの開発においても単体テストの自動化は一般的に行われるようになってきているものの、UIテストの自動化はそういった理由で実現が難しく、あまり行われていないのが現状だ。 そこで本稿では、標準的で一貫性のある記述ができるMicrosoft UIオートメーション(以下UIオートメーション。詳細後述)と、テスト・ツールであるNUnitを使用して、UIテストを自動化する方法を紹介する(N
「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論 Developers [Test] Summit 2008(デブサミTest) 「建前ではなく実際にテストを普及させるにはどうすればいいのか」。2008年4月23日,東京・九段で開催されたテストに特化したソフトウエア開発者向けカンファレンス「Developers [Test] Summit 2008(デブサミTest)」で「【徹底討論】テストなんていらない?!-テストを,どこまでやるべきか?」というパネル・ディスカッションが開催された。 司会を務めたのはタワーズ・クエスト プログラマ兼取締役社長であり,テスト駆動開発(TDD)の日本での第一人者である和田卓人氏。同氏に,オープンソース・プロジェクト「Seasar」のチーフコミッタであるひがやすを氏,テストの
今日のテストサミットで、できるだけユニットテストを書かずに品質を確保する方法について、ディスカッションします。 やり方を簡単に紹介すると、最初は、Programming First Developmentで、機能を実装して、ユーザに動かしてもらうってことをユーザの要件が固まるまで繰り返します。このときは、基本的にユニットテストは書きません。動かすことに集中します。 ユーザの要件が固まった(実装がほとんど終わった)ら、保守のためのドキュメントの一つとして、テストシナリオ(ユースケーステスト)を作って、テストを行います。そのテスト中に、バグが発見されたらその周辺のユニットテストを書いていきます。 これは、「バグは偏在(偏って存在)する」という特徴を利用して、一通り動かした後に見つかったバグの近くをテストしておけば、主なバグはつぶれるだろうという考えです。 これまでは、「ユニットテストは、できる
プログラムの動作テスト用のダミーデータを簡単に大量作成できるソフト「プラデータ」v1.0が、4日に公開された。Windows XP/Vistaに対応するフリーソフトで、現在作者のホームページからダウンロードできる。なお、動作には.NET Framework 2.0が必要。 「プラデータ」は、プログラムの動作テスト用のダミーデータを簡単に作成できるソフト。CSV/TSV形式のファイルなど、テキスト形式のダミーデータを大量に作成できるので、各種テキスト形式での入出力機能をもつソフトの動作をテストしたい場合などに便利だ。 ダミーデータを作成するには、まず“定義”を作成する。たとえば、1番目は数字4桁からなるID、2番目は最大12文字の名前、などといったようにデータの構造を決めて、リストに記入しよう。“定義”のデータ型には、テキスト・数値・日時を選択可能で、数値の桁数や文字列の長さ、日時の形式など
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く