2024年10月18日 日本SPIコンソーシアム(JASPIC) ソフトウェアプロセス改善カンファレンス2024

2024年10月18日 日本SPIコンソーシアム(JASPIC) ソフトウェアプロセス改善カンファレンス2024
はじめに Xcode 7ではXCTest frameworkの新機能としてUI testing(以降、UIテスト)が実装されました。 UI操作をレコーディングしてテストコードを生成することで繰り返しUIテストが行える便利な機能です。 今回は簡易電卓アプリを作成し、簡単な計算のUIテストを行ってみます。 開発環境 開発環境は下記の通りです。 Xcode 7.0.1 iPhone 6s シミュレータ テスト対象アプリ 今回は加算と減算のみ可能な簡易電卓アプリを用いてテストを行います。 アプリのソースコードはこちらにアップしました。 プロジェクト作成時の「Include UI Tests」 Xcode 7ではプロジェクト作成時に「Include UI Tests」というオプションが追加されました。 UIテストを試す場合は下記の通りチェックをつけましょう。 ※もちろん、ここでチェックをつけなくても
On the AngularJS team, we rely on testing and we always seek better tools to make our life easier. That's why we created Karma - a test runner that fits all our needs. Introductory ScreencastThe spectacular quick start to Testacular. JS Everywhere 2012 ParisWatch Vojta Jína presenting Testacular at JS.everywhere. The main goal for Karma is to bring a productive testing environment to developers. T
Calabash-iOSのセットアップ プロジェクトを作成したらターミナルを起動し、作成したプロジェクトディレクトリ(.xcodeprojが含まれるディレクトリ)に移動します。 $ cd some/path/CalabashSample 移動したら以下のコマンドを実行します。 $ calabash-ios setup Xcodeが動いているとエラーになるので、コマンド実行前に予め終了しておいてください! プロジェクトディレクトリの中にcalabash.frameworkが作成されていればOKです。 スケルトン作成 以下のコマンドを実行してスケルトンを作成します。 $ calabash-ios gen プロジェクトディレクトリの中にfeaturesが作成されていればOKです。 プロジェクトのビルド この状態でXcodeを起動すると、以下のようにスキーマとターゲットが作成されているはずです。C
iOS用BDDフレームワークKiwiが2.0にバージョンアップされていました。 https://github.com/allending/Kiwi/wiki 2.0からCocoaPodsでのインストールになっていたので、さっそく1.0から乗り換えることにしました。 (1.0はプロジェクトに組み込むのにいろいろと触らないといけなかったので、動かすまで苦労しました) 1. まずCocoaPodsのインストール $ gem install cocoapods $ pod setup これだけです。 詳しくは、 http://cocoapods.org をご覧ください。 2. 次にXcodeプロジェクトを作成します。 今回はSampleという名前で作成します。 このときWizardで、”include Unit Tests”にチェックをつけておきます。 3. 一度Xcodeを終了し、t
この記事は賞味期限切れです。(更新から1年が経過しています) JavaScriptユニットテスト一年生の私が、Nettuts+ のチュートリアルで知ったテストツール 「testem」のお陰で大変捗ったので是非お勧めしたく、ここで紹介してみます。 testem ってなに testem via GitHub : airportyh/testem Unit testing in Javascript can be tedious and painful, but Testem makes it so easy that you will actually want to write tests. 要するに、面倒なJSのユニットテストをより快適にしてみんなでハッピーにテスト書こうよ!というツールです。 testem自体はnode.jsベースで動作し、Jasmine/QUnit/Mochaに対応して
自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(後編) 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日本科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡山五郎氏の講演「自動改札機ソフトウェアの品質向上の取り組み 厳密な仕様、もらさないテストを目指して」。この記事では、そのダイジェストを紹介しています。 本記事は、前編、中編、後編の3部構成です。お読みのページは後編です。 大規模なテストをどうやって実行しているか 続いて、大規模なテストについて。 1000万件のテストパターンを作っても、それぞれのテスト結果の正解を人手で作っていたら追いつきません。なので、別々に運賃計算ソフトウェアを作って、その答えを突き合わせてチェックしよう、という話です。 例
自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(中編) 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日本科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡山五郎氏の講演「自動改札機ソフトウェアの品質向上の取り組み 厳密な仕様、もらさないテストを目指して」。この記事では、そのダイジェストを紹介しています。 本記事は、前編、中編、後編の3部構成です。いまお読みのページは中編です。 自動改札機の制御は1000件くらいのテスト さて、次は間違えない自動改札機の話です。ここからソフトウェアの話になります。 1つは運賃計算。この切符はこの駅で降りられるのか、というもの。そしてもう1つは自動改札の制御。ランプを光らせるとか、切符を回収するとかです。 まずはその
WWDC開幕で、話題の中心はもっぱらiOS 6、Mountain Lion、Retina対応Macですが、気にせずテストについて書きます。 2012年6月現在、純正のSenTestingKit以外にも多数のiOSアプリ用テストフレームワークが存在します。今まで試してきた中で、おすすめのテストフレームワークをいくつか紹介します。 標準のテストフレームワーク SenTestingKit / OCUnit Xcodeに標準で付属しているテストフレームワークです。iOSアプリのテストを初めて学ぶには、素直にSenTestingKitから始めた方がよいと思いますが、非同期処理やUIを含むテストは面倒・困難です。Google Toolbox for Macを使って少し拡張することもできます。 長所 標準で用意されているので導入が楽。 シンプルなので理解しやすい。 他のフレームワークのメリット・デメリッ
TDDのパターンに学習用テストというものがあると『テスト駆動開発入門』に載っていた。 自分が作ったものではない外部のライブラリを使い始めるときに、動作を確認するために小さなコードを書く、ということは誰でもしていることだと思うが、その動作確認のためのコードをテストとして書く。 それによりライブラリのAPIに対する理解をコードに落とし込んで残しておけるので、曖昧な理解が減りそう。 正しい理解ができていればテストはパスする。 またライブラリのバグなのか、自分の使い方が悪いのか切り分けるのにも使えそうだ。 そういう原因がよく分からない状況になってしまったらテストを追加して追い込んでいけば良い。 また副産物として、ライブラリがアップデートされたときにその影響をテストするのにも使うことができる。 試しにamazon-ecsで学習用のテストを書いてみた。 # -*- coding: utf-8 -*-
■1 『アジャイルサムライ』の書影と主な目次が出てこないから自分で貼るよ あわせて読みたい: 「アジャイル開発のディケイドと"The Agile Samurai"」 6/30正午付近に脱稿したら7/1に印刷入稿されたので(青焼の確認がまだあるけど)、いよいよひと区切り。このまま大きな事故がなければ、RubyKaigi 2011の頃には書店に並ぶはず(前日が書店搬入日の予定)。RubyKaigi初日が正式発売日なるスケジュールでオーム社開発局をはじめとした関係各社の総力戦である(RubyKaigi2011会場で先行発売とかそんなリードタイムではないのだ!!)。 でも残念ながら、すてきな三にんぐみのRails3についての素晴しい書籍と違ってまだAmazon.co.jpにレコードはない。版元のサイトにはエントリはあるけど書影もないし目次も企画書段階のときのまま。オーム社eStore(β)にも商品
xUnit Test Patternsで2007年のテスト事情まで追いついた。Growing Object-Oriented Software, Guided by Testsは2009年末に出版されているので更に最新のテスト事情が分かるだろうと思って読んだ。Cybozu Developers Conference にて id:t-wada さんと @kakutani さんにご講演いただいたときに推薦されていた本。 個人的には xUnit Test Patterns をスキップして本書を手にとっても良いと思う。網羅性はないのだが、良いタイトルからも分かるとおり実践的な例を通してテストと実装がどうやって進むかを示してくれる。オークションに参加するアプリケーションを一から構築して行く。学習用に都合の良い例だが手抜きはない。end to end テストから始まり、サーバーとの通信部分は非同期、G
第1回2009/3/28(Sat) 第2回2009/5/9(Sat) 第3回2009/6/27(Sat) 第4回2009/8/1(Sat) 第5回2009/8/29(Sat)2009/9/6(日) 第6回2009/9/26(Sat)(予定)2009/10/4(Sun) 第7回2009/10/24(Sat)(予定)2009/11/14(土) 第8回2009/12/20(Sun) 第9回2010/2/13(Sat) スパム対策のため、ページ編集やコメント投稿時に認証が求められます。 認証ダイアログに表示されるユーザ名とパスワードを入力してください。
「TDDの本ってあまり売れないんだそうですよ。」と言う発言から思ったことをつぶやたら思いがけない広がりになったので、まとめてみました。(未完)
昨日の記事 続・Rails 3.x 時代のテストフレームワーク では、Rails で使用できるテストフレームワークの基礎知識と相互関係についてまとめました。 今日は、Test::Unit と RSpec と Shoulda を具体的に比較してみたいと思います(Cucumber については、別の機会に…)。 例として「変数 @total に文字列 '100' をセットすると、式 @total.to_i は 100 を返す」というテストケースを考えましょう。 純粋な Test::Unit ではこのように書きます。 require 'test/unit' class SimpleTest < Test::Unit::TestCase def test_should_return_100 @total = '100' assert_equal(100, @total.to_i) end end R
先日の記事Rails 3.x 時代のテストフレームワークで、私は「Railsのテストを取り巻く状況が複雑に拡散しつつある」と書き、デファクトスタンダードがまだ現れていないんじゃないか、ということを示唆しました。 その後、この件について他の人が書いているのを更に読んだり、実際にフレームワークを使ってみたりして、わかったことや考えたことをまとめてみようと思います。 まず、Railsで使用できる代表的な4つのテストフレームワーク Test::Unit, RSpec, Shoulda, Cucumber の基礎知識と相互関係について。 Test::Unit は、Ruby 実行系と一緒にインストールされる標準ライブラリの1つです。20世紀末に提唱されたソフトウェア開発手法エクストリーム・プログラミング(XP)が求めるテスト駆動開発をRubyで実践するために作られました。Java 用の JUnit、.
Rails 1.x の頃、テストと言えば Test::Unit であり、Fixtures でした。 この2つがあったからこそ、私は Rails を好きになったんだと言えます。 Test::Unit は Ruby 標準ライブラリの1つですが、Rails はそれを巧妙に拡張して、自らと一体化させていました。 Rails は Web アプリケーションを開発するためのフレームワークであり、同時にその Web アプリケーションをテストするためのフレームワークでもあったわけです。 Fixtures は、テストの対象となるサンプルデータをデータベースに投入するためのツールです。 テストを開始する時点でのデータベースの状態を YAML 形式あるいは CSV 形式で記述しておくと、Fixtures はテストを行う直前にデータベースをその状態に戻してくれます。つまり、Fixtures によって再現性のあるやり
軽量なリレーショナルデータベースとして人気のSQLite。そのWebサイトに掲載されている「How SQLite Is Tested」の内容が、海外のプログラマなどのあいだで話題になっています。 3月に公開された最新バージョンのSQLite 3.6.23。本体のソースコードは約6万7200行(67.2KSLOC、Kilo Source Lines of Code:空行やコメントを除いた行数)なのに対し、テストコードはなんと4567万8300行(45678.3KSLOC)だと紹介されているのです! これはテストコードが本体の約679倍もの大きさだということになります。 100%のブランチカバレッジ SQLiteコアのライブラリをテストするテストコードとして、以下の3つが紹介されています。 TCL Tests TCL Testsはもっとも古いテストコードで、TCL scripting lang
はじめに Web APIを使って様々なサービスと連携するというアーキテクチャはすっかり定着した感があります。みなさんも、Web APIを使ってデータをやりとりするアプリケーションを書く機会も増えているのではないでしょうか。 Web APIを使うアプリケーションの開発では、テストやデバッグをする際のAPIアクセスが悩みどころとなります。本物のサーバを使ったのではテストデータの初期化などに手間がかかりますし、逆にHTTPアクセス自体をスタブやモックを使って間接化してしまうとそれが本当に有効なテストなのか不安が残ってしまいます。 筆者も、仕事やプライベートでのコーディングでこのような悩みに何度も遭遇しました。これらを解決するために開発したのがwwです(wwと書いて'double-web'と読みます)。 ダミーWebサーバ作成ライブラリww(Double Web) wwは、Webサービスの簡単
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く