タグ

テストに関するkonoのブックマーク (21)

  • 自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組み合わせがあります。それでも運賃計算プログラムはわずか一瞬で正しい運賃計算が求められ、バグがあったら社会的な一大事にもつながりかねません。 爆発的な計算結果の組み合わせがあるはずの運賃計算プログラムは、どうやってデバッグされ、品質を維持しているのでしょうか? 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)
    kono
    kono 2012/09/24
    こんな話を読むとやっぱりフカシギのおねえさんを思い出すよなぁ。。。
  • Unit Test vs Functional TestそしてClean Code - masayang's diary

    Agile2008でもらったゴムバンドを未だに手首につけている。確かBob Martinだったと思うが、テスト駆動開発と「Clean Code」の関係について熱く語っていた年だ。 メソッドは短く。 メソッドが実現することは一つ。 あるメソッドのテストに色々と条件を設定しているのなら、それはClean Codeではない。 だが我々はその基を簡単に忘れてしまう。色々とテストのための道具が揃ってきたせいもあろう。基を忘れて一つのメソッドに色々と詰め込みすぎるとテストが大変になる。Mockがあっても、だ。Fixture使うのはさらに大変だし、Seleniumとかで入力から何から条件を与えるのはもっと面倒。そしておそらく抜けが発生する。 最近、内職でPython使ったアプリを組んでいるのだが、今回は上記「基」を徹底するようにしている。例えばこんなコードがある。 def nearby(reque

    Unit Test vs Functional TestそしてClean Code - masayang's diary
  • EclEmmaは,djUnitと同じくカバレッジ計測プラグインです。

    株式会社DTS ネットワーク事業プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 昨今では,ますますテスト工程が重要視されるようになっています。品質の高いソフトウエアを効率的に開発することが,保守・管理コストの低減につながり,最終的なコスト削減を生むからです。 単体テスト工程では,「JUnit」フレームワークがデファクト・スタンダードです。これにより,効率的にテスト・ケース(テスト用のコードを書いたクラス)を作成し,何度でも繰り返し実行できます。単体テストを何度でも繰り返し実行できることは,短期開発で高品質を保つためには欠かせない要素です。 しかし,このようにJUnitフレームワークが品質向上に大きく貢献している半面,カバレッ

    EclEmmaは,djUnitと同じくカバレッジ計測プラグインです。
  • Cybozu Inside Out: ScaleBench 公開

    どーもみなさま。こんにちは。 amachang と申します。 さて、ようやく ScaleBench というプロダクトが発表されましたね! ScaleBench のご紹介 で、僕もこれの開発に携わっていたのでちょっと技術的なことについて書いてみたいと思います。 ScaleBench とは ScaleBench とは、サイボウズ製品向けの負荷テストツールで Grinder というオープンソースの負荷テストツールをベースにしています。 Grinder とは Java を使った Web の負荷テストツールです。 Jython でシナリオ(ユーザがどう行動するか)を書いてそれを実行します。 またブラウザの操作を記録して、シナリオを自動で生成することもできたりします。 で、僕がこのプロジェクトで担当していたのが Grinder の改良、改造 シナリオ(バーチャルユーザがどのような順で負荷をかけていくか

    Cybozu Inside Out: ScaleBench 公開
  • Ruby スクリプトのユニットテスト・チュートリアル - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 少し前に公開した Ruby 用 JSON クラスに数多くのバグを仕込んでしまい(たいへんご迷惑をおかけしました m(_ _)m)、テストの重要性を改めて痛感している今日この頃です。今後も開発を続けるにあたって、現在の行き当たりばったりなテスト方法ではとてもやっていけないと危機感を持ちまして、きちんとしたユニットテストの方法を調べてみました。 で、実際に試してみたと

  • テスト管理ツール「TestLink」 はじめの一歩 | バシャログ。

    こんにちは、ほぼ日の「観たぞ、バンクーバーオリンピック」のとりこになっているinoueです。ばん・くー・ばー! さて、ここのところ、テストにどっぷり浸っています。テストエンジニア的立ち位置にいるといいますか。 これまでシーブレインではExcelベースでユースケースやテスト項目の管理を行ってきました。 Excelがよくできたアプリケーションのため、なんとなくうまくいっているように思えていましたが、実際に深くテスト仕様を考えていくと、テストケースの再利用や階層的な管理などやりたいことが満載! そんなテストへの要求を満たしてくれそうなアプリケーションが「TestLink」です。 LAMP環境へ簡単にインストールできるオープンソースのテスト管理ツールです。 今回は、この「TestLink」導入を検討するために参考にしたサイトをご紹介します。 きちんと学びたいテストエンジニアのためのTestLink

    テスト管理ツール「TestLink」 はじめの一歩 | バシャログ。
  • TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中

    先日、twitter上でTDDに関する談義があったのだけれど、気になったのがそれに対するテストや品質の方々の反応。特にTDDの戒めである「品質保証を目的としていない」という書き込みに対してネガティブな反応が多かったのが気になった。 開発経験もあり定義や概念の扱いに注意深い方々なので誤解の可能性はないと思うが、結構問題が入り組んでいるように感じたので、今回テストエンジニアと開発者の視点の差異を焦点にして一部の論点を整理したいと思う。 開発者のいう品質保証の定義 まずTDD談義で開発者が「品質保証のためのテスト」「品質管理のためのテスト」などと呼んでいるテストの定義は、乱れや不統一感も多少あるけど、基的にKent Beckや和田さんが使われているQAテストの定義によるもの(http://gihyo.jp/dev/serial/01/tdd/0003)。 この定義で「品質保証のための単体テスト

    TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中
  • 深夜のテストTL

    ヨシオリX @yoshiori なんか「テストファースト」って言葉に2種類の使われ方があって、混乱するなぁ…… テスト手法のテストファーストと、開発手法のテストファーストはわけるべきだよなぁ 2010-02-15 00:43:52 ヨシオリX @yoshiori 「TDD はテスト計画をせずにテストしてしまうから……」とか「品質管理のためには……」とか言われるとなぁ TDD はあくまで"開発"手法であって、テスト手法では無いんだよね。もう、TDDで品質があがるって啓蒙するの止めちゃえば、いっそ変な誤解が広がらないんじゃないかなぁ。 2010-02-15 00:47:13

    深夜のテストTL
  • 自動テストツール NUnit/NUnitAspを使ってみる - きのこる先生 -チラシの裏

    テスト駆動開発とかアジャイルの言葉に挽かれてNUnit/NUnitAspに挑戦してみることにした。 NUnit-GuiからテストコードのDLLを読み込もうとすると、NUnit-GuiがBadImageFormatExceptionを吐いてイメージを読み込んでくれない。 調べてみると、NUnitAspの最新バージョン1.5.1にバンドルされているNUnitは2.2.0で、NUnitの最新バージョンは2.2.9が出てるらしい。さっそくNUnitを2.2.9にアップグレードしてみると、NUnit-Guiは例外を吐かなくなったものの、今度はNUnitASPが動かない。どうやらNUnitAsp1.5.1と一緒に使うNUnitは2.2.0じゃないとだめらしい・・・難しいなあ。 NUnitAspは日語の情報もそんなにないし。海外のForumで.configを弄ってみると良いとか出ていて試してみたけどダ

    自動テストツール NUnit/NUnitAspを使ってみる - きのこる先生 -チラシの裏
  • プログラマーにとってのテストの重要性

    優れたエンジニアはテストコードをとても重視している、という話を人たちから直接聞く機会が最近ありました。 オープンソース会の重鎮として知られる楽天のよしおかひろたかさんは「下手なドキュメントを書くくらいだったらテストコードを書くべきだ」「ソフトウェアはテストコードと体のコードの両方が必要。テストコードがないのは未完成品」と、テストコードの重要性を話してくれました。「全部書き直したいような(他人の)ソースコードを見たときでも、テストを書いていると心が落ち着いてくる(笑)」(吉岡氏)。 JavaのフレームワークSeaserの開発者などで知られるひがやすを氏は、コードレビューのときに「テストコードを見る」ことがほとんどなのだそうです。「テストコードがちゃんと書けていればOK」(ひが氏)。 これは1月30日に行われた「Source Code Reading Workshop Japan 2010

    プログラマーにとってのテストの重要性
  • Kazuho@Cybozu Labs: 監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)

    結論から先に。cronlog を使えば、アプリケーションのテストコードと全く同じ形式で、監視用のスクリプトを書くことができます。プログラマが監視ツールの記法を覚える必要はありません。これは、プログラマが運用も行うケースでは特に有効な手法だと思います。 先週公開した Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法 というエントリで、crontab と拙作の cronlog を用いてサービス監視を書く手法を紹介しました。しかし、挙げた例はいずれも ping や http のテストといった外形監視の手法です。RDBMS とウェブアプリケーションのみから構成されるサービスならそれだけで十分でしょう。 しかし、外形監視だけでは、メッセージキューのような非同期処理の遅延を観測することはできません。また、http のログを監視して、エラーレスポンスや平均応答

  • スはSpecのス Step by Step - ayuminのあまり更新しないBlog

    RSpecとは RubyのDSL機能を活用してテスト対象の「振舞い」を記述することで単体テストをおこなうためのテストフレームワークです。 STEP1. RSpecのインストール > gem install rspec まず、作業フォルダの中にspecとlibという2つのディレクトリを作成します。 > mkdir spec > mkdir lib specにはRSpecによって実行されるテストスクリプト(specファイル)を格納します。 libにはspecファイルによってテストされるテスト対象クラス(ターゲット)を格納します。 specフォルダには作法としてxxx_spec.rbという名前でspecファイルを作成していきます。 xxxの部分は任意の名前で構いませんが、テストケースやシナリオがわかる名前にすると良いでしょう。 今回はボーリングゲームのスコア計算をするGameクラスをターゲットと

    スはSpecのス Step by Step - ayuminのあまり更新しないBlog
  • 第8回 Jameleonを使ったテスト

    プロパティファイルは使用するプラグインやテスト実行に関する設定を記述するファイルです。通常はすでに存在する初期値のEnvironment.propertiesファイルをそのまま利用することで問題ありません。 Jameleonでは、次のようなテストを作成することができます。 JUnitプラグインを使ったホワイトボックスレベルのテスト。すべてのJUnitの機能タグはほかのプラグインの機能と一緒に利用可能 Jiffieプラグインを使ったIEベースのテスト。このテストはWindows環境でのみ実行可能 HtmlUnitプラグインを使ったブラウザベースのテスト。一部のJavaScriptsとXPathについてもサポートしている HTTPUnitプラグインを使ったブラウザベースのテスト。HtmlUnitプラグインではコンテンツベースでテストするのに対し、HTTPUnitではHTTPの通信ベース、つまり

    第8回 Jameleonを使ったテスト
    kono
    kono 2009/09/28
    Jameleonって知らなかったな…
  • データベース負荷テストツールまとめ(1) - SH2の日記

    Webシステム開発において性能試験を行う場合、hp LoadRunnerやApache JMeterといったウェブブラウザをエミュレーションしてくれる負荷テストツールを用いるのが定番だと思います。そんななか、たまにデータベース単体での性能を測ってほしいと頼まれることがあるので、そうした便利なツールはあるのかなと思って調べてみました。 データベースに対する負荷テストツールは探すとたくさん出てくるのですが、案件で使用しているRDBMSに対応していなかったり、トランザクション仕様が希望と異なっていたり、微妙に作りが悪かったりと、ニーズに合致したツールはすぐには見つかりません。そんなときにこのエントリがツール探しの参考になればと思います。 pgbench 対応RDBMS:PostgreSQL 対応OS:Linuxなど 言語:C 作者:石井達夫氏 ライセンス:独自(BSDライセンスに近い) トランザ

    データベース負荷テストツールまとめ(1) - SH2の日記
  • Selenium AESによるリグレッションテストの導入

    Selenium Auto Exec Server(Selenium AES)は、Seleniumによる継続的なリグレッションテストを行うことを目的としたツールです。稿では、Selenium AESを使ったリグレッションテストを行う際の設定方法について説明します。 はじめに 「Selenium Auto Exec Server」(以降、Selenium AES)は、Seleniumによる継続的なリグレッションテストを行うことを目的としたツールです。 記事では、実際のプロジェクトを想定し、Selenium AESを使ったリグレッションテストの運用方法について説明します。Selenium AESで提供される機能などについては、前回の記事『Selenium AES入門』を参照してください。 対象読者 Webアプリケーションの開発者を対象としています。 記事で説明するリグレッションテストの内

    Selenium AESによるリグレッションテストの導入
  • 「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは

    「レガシーコード」とは何か 最初に1つ質問です。皆さんは、「レガシーコード」と聞いて何を想像するでしょうか? 多くの方はCOBOLなどで書かれたメインフレームで動くコードを真っ先に思い浮かべるのではないかと思います。しかし、当にそれだけでしょうか? ここでは「レガシーコード」という言葉を『何年も前に誰かが作り、内容が複雑で何をしているのかよく分からず、まともな仕様書もない』というコードを指すものとします。そう考えると、必ずしもメインフレームだけの話ではなくなります。この記事を読んでいる皆さんなら、そのようなコードを少なからず目にしていることでしょう。 現在の業務システムは、Java EEや.NETなどの基盤上に構築される、いわゆるオープンシステムが主流になっています。このようなオープンシステムであっても、構築されてから既に5年以上経過していることが珍しくなく、何度も手が加えられたコードは

    「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは
  • tips - Webサーバーの負荷テストならまずab : 404 Blog Not Found

    2009年05月13日16:45 カテゴリTips tips - Webサーバーの負荷テストならまずab だめじゃん。 WEBアプリ開発に便利な機能&負荷テストツール集:phpspot開発日誌 abがないじゃん。 abとは何かというと、apacheに標準でついてくる負荷テストツールの名前。apacheが入っている環境であれば、まず間違いなく入っているはず。 引数なしだと、help表示。 ~% abab: wrong number of arguments Usage: ab [options] [http[s]://]hostname[:port]/path Options are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make -t timelimi

    tips - Webサーバーの負荷テストならまずab : 404 Blog Not Found
  • WEBアプリ開発に便利な機能&負荷テストツール集:phpspot開発日誌

    15 Free Functionality And Load Testing Tools For Web Applications WEBアプリ開発に便利な機能&負荷テストツール集。 プログラム変更後の品質チェックを行える機能テスト・ユニットテスト、負荷に耐えられるか確認するために負荷テストツール、で品質向上に役立てられます。 Selenium等の定番以外にも沢山の機能テストツールや負荷テストツールがあるみたいです。 機能テストツール集 Seleniumのようなブラウザを自動で直接動作させて表示結果を確認するツール うまく運用すれば、機能を変更した際の正常動作確認に神経をすり減らすことがなくなります SeleniumHQ おなじみのテスト自動化ツール テストケース定義で自動でブラウザ上でテストしてくれます Watir Rubyのブラウザ自動化ライブラリだそう。 Windowsだと、IE、F

  • TEF有志によるTestLink日本語化プロジェクト - TestLinkJP

    How to Write a Thesis on T-Building A strong introductory paragraph starts with a hook that grabs the reader’s attention. Then, it provides details that lead to the thesis statement. The T Building—formerly the Triboro Tuberculosis Hospital in Queens, New York —is now affordable and supportive housing. It’s also a model for adaptive reuse of historic buildings. Adaptive Reuse of an Historic Buildi

  • ウノウラボ Unoh Labs: 見ないと損する ソフトウェアテスト関連サイト色々

    こんにちは!やまもと@テスト番長です。 今回は自分が普段チェックしている、ソフトウェアテスト系のサイトを色々ご紹介してみようと思います。既にご存知のサイトもあるかと思いますが、宜しくお付き合いください。 swtest.jp/wiki http://www.swtest.jp/wiki/index.php?swtest.jp/wiki 最近wiki化され、情報更新が活発になっています。必見です。 StickyMinds.com http://www.stickyminds.com/ コラムなどの読み物が充実しています。 Google Testing Blog http://googletesting.blogspot.com/ グーグルのテストチームのブログです。面白くないはずがありません。 Open source software testing tools http://www.