Testing tips by examples
Opens in a new windowOpens an external siteOpens an external site in a new window Developers write tests to ensure correctness and allow future changes to be made safely. However, as the number of features grows, so does the number of tests. Tests are a double-edged sword. On one hand, well-written ones catch bugs and maintain a program’s stability, but as the code base grows, a high number of tes
Copyright © 2004-2023 Impress Corporation. An Impress Group Company. All rights reserved.
会員事業部の日高尚美(@natan3)です。 半年前になりますが、クックパッドでは Android ユーザ向けにプレミアムサービスの決済手段の一つとして Google Play 決済を導入しました。 ユーザに新たな機能を提供する前には、何らかの形で開発者側での検証が必要です。 Google Play 決済導入バージョンのリリースは、ユーザのお金を扱うこともあり、不具合が起きた際にサービス全体の信用に関わる、非常にリスクの高いリリースでした。 それに伴い、検証もできる限り万全に行わなければなりません。 そのため、なるべく丁寧にテストケースを作成し、それをもとに検証を実施することで新機能が期待通りに実装されていることを担保しました。 丁寧にテストケースを作成したから、というだけではもちろんありませんが、リリースから半年経った今でも Google Play 決済周りの目立った不具合はまだ見つかっ
テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 – Testing & Engineering By Hiroyuki Ito | 2018.07.09 2021.01.08LINE株式会社のSET(Software Engineer in Test)です。「SETタスクフォース」(以下「SETチーム」と表記)のリーダーとして、主にLINEプラットフォームのサーバーサイドで、テスト自動化を活用したプロダクト開発ライフサイクルの改善を立案・実施・主導しています。また、アジャイルコーチも兼務しています。 はじめに こんにちは。LINE株式会社のSET(Software Engineer in Test)の伊藤 宏幸(Hiroyuki Ito)です。 2018年6月27日(水)に、電気通信大学の西 康晴さん(以下「にしさん」と表記)をお招きして、「
はじめまして!4/1よりSWETに加わった@Kuniwakです。 今回は、私がSWETに入って驚いたことと、そしてSWETだからこそ生まれたものについてお話しします。 まずKuniwakはどんな人? 開発を高速化させるテストや静的検査を生業としています。主に、以下のような記事やスライドを書いています。 テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 iOS開発を効率化するテストのデザインパターンについて Swiftの HTTPライブラリで苦しまないための自作APIクライアント設計 ※TDD(テスト駆動開発)という言葉を使わないでTDDを実践している記事 Vim script静的解析の光と闇 では、こんな私がSWETという自動テストのエキスパートのチームで働くことになって驚いたことを紹介します。 SWETに入って驚いたこと SWETに入って驚いたのは、テストに関連するト
こんにちは。ショッピングアプリ「BASE」のiOSアプリを担当している竜口です。 背景:あの改修の効果測定用のログ、送られてる? ショッピングアプリ「BASE」内で、施策の効果測定やKPIの経過観察で様々なログを使用しているのですが、細かい改修などで特定のログが送られない事象があり、効果測定が出来ずに多部署の作業が止まるということがありました。 そこでアプリ(今回はiOSのみ)でログが正しく送られていることを保証するために、ログのテストをするようにしました。 全体の流れ 次のことをしました。 EarlGreyでUITestを実装 テストの中で送られるログをMockに保持 テスト完了後、Mockにあるログの有無を確認 テストをCircleCIで自動化 これで改修によるログの影響を保証出来るようになります!! 1. EarlGreyでUITestを実装 EarlGrey Referenceは、
JaSST’18 Tokyo Day2のクロージングパネルの書き殴りまとめ。 アジャイル・自動化時代のテストの現場のリアル モデレータ: 荻野恒太郎さん(楽天) パネリスト: John Miccoさん(Google) 天野祐介さん(サイボウズ) 松尾和昭さん(クックパッド) 山口鉄平さん(ヤフー) 自己紹介 コンテキストを合わせるためにサービスのデプロイ/リリース頻度を伝え合う 荻野さん1日数十回のデプロイ(テスト環境含む) リリースは1週間に数回 天野さん月1リリース(kintone) 1日数回のデプロイ 山口さんプロダクトによって差がある 多いところは1日数十回のデプロイ 2週間~1か月のリリース、デプロイもある テスト自動化はいま進めているところ デプロイ、リリースの自動化も進んでいる 松尾さんモバイルオートメーションに比重を置いている 検索・レシピ投稿でチーム分割している 1チーム
数年開発続いてるけどテスト全くないみたいなよくあるコードベースを想定。 不具合を修正する時についでにリファクタリングしてドメイン層のテストを書く。 手動テストで不具合を再現 ViewからロジックをControllerへ移動し、Viewからは値の参照のみにする 移動したロジックをController内でプライベートメソッドに切り出す。返り値を(2)の値にセットする プライベートメソッドを外に出して関数→モジュール化する (4)のメソッドに対してテストを書き、失敗するのを確認する ポイントとしては 運用的観点ではなるべく早く不具合を修正してデプロイしたいので、リファクタリングだけ別のブランチでゆっくりやる 依存がでか過ぎで解決できなさそうなど問題があれば、その時点ではテストを書くのを諦める。行動したことで学んだIssueを起票する 具体的なリファクタリング方法は レガシーコード改善ガイド (O
テストを小さくする。適切なツールを使う。プログラマとテストがペアになる。これらは、よいユニットテストを書くための、Adrian Bolboaca氏からの提案だ。 ユニットテストは、プログラミングとテストが混ざり合ったものだ。プログラマは、テスタと共に作業することで、お互いに学び合い、視野を広げることができる。 Adrian Bolboaca氏は、Mozaic Worksの組織と技術に関するコーチであり、ヨーロッパテストカンファレンス 2017において、様々なタイプの自動テストについて話す予定だ。 InfoQは、このカンファレンスについて、Q&A、要約、記事で扱う。 [ヨーロッパテストカンファレンス]は、専門家や実践者が一緒に話し、学び、テスト技術を実践するところです。 私たちは、テストをもっと効果的にするために、先進的な新しい方法を詳しく調べ、より強いコミュニティに成長する基本的な方法を十
Transferring you to the official PragPub magazine archives on Medium at https://medium.com/pragmatic-programmers/unit-tests-are-first-fast-isolated-repeatable-self-verifying-and-timely-a83e8070698e … Releases, Offers & More Be the first to hear about our newest content, best promotions and upcoming events. Plus get 25% off your next purchase. Newsletter Sign Up Download Accounts Your email address
For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.
Ruby対Scala Javaの欠陥、Rubyの欠陥を埋めるものとしてScalaが選択されつつある。 ここでは特に、なぜRubyではだめなのか、他の方の言を紹介する。 なぜ Lift に違和感を覚えるか 一刻も早くJava から Ruby へ移行したいと思っていた。しかし、実際に Ruby で開発を行ってみると、そこには譲れないトレードオフがあった。Eclipse 上の Java コードは、死んだ文字列ではなく、呼びかければ応えてくれるオブジェクトだったが、Aptana RadRails 上の Ruby コードは、それとは程遠い代物だった。補完はまともに働かず、依存先へのナビゲーションや依存元の検索はインテリジェントでなく、リファクタリング支援は貧弱。これは、特定ツールの未成熟の問題というよりも、動的型付け言語のアイデンティティに関わる問題だろう。そして、Rails アプリケーションの実行
8月6日、日本Androidの会テスト部(以下、テスト部)主催によるイベント「第1回Androidテスト祭り」が都内で開催された。テスト部は、Androidプラットフォームでの開発において、特にソフトウェア検証テストに関する情報共有や問題解決を目的とした組織だ。2010年9月に発足し、イベント開催時点では276名のメンバーがいるという。 今回のイベントは、その自由度の高さや多様性ゆえに課題を抱えるAndroidアプリ開発のテストについて、開発者同士やコミュニティでの情報交換を目的に開催された。テスト部では、すでに日本Androidの会の総合イベント「Android Bazaar and Conference」での講演をはじめ、さまざまな活動を行っているが、単独イベントは今回が初だ。
This is the second part of a series about Outside-in Behaviour Driven Development in PHP. The first part introduces outside-in development, and how to execute scenarios with Behat. Read this to catch up with the tools and the example we’ve used so far, then come back to find out how PHPSpec fits into this picture. PHPSpec is the first ever PHP BDD framework. It is a port of RSpec to PHP created b
RubyKaigi 2011の二日目が終わりました。来場者の皆さん、スタッフの皆さん、誠にありがとうございます。 いろいろ忙しかったり、緊張したりもしたけれど、とても楽しい時間を過ごせています。三連休完全外出を許容してくれた妻子にもありがとう。 さて、今日は発表枠をいただいて、RSpecでテストを書きながらRailsアプリを開発する話をしました。 Test Context Arrangement Recipebook View more presentations from Kyosuke MOROHASHI 講演中にも申したとおり、最初のRubyKaigiが行われた2006年(の会議終了ちょっとあと)からいままでの5年間ほぼ毎日、RSpecとRailsを使ってきました。今日はそこで見いだしつつある【独自研究】を話させていただきました。講演終了後から懇親会で声をかけていただいた方々には好評
本業ではないですが、Titanium Mobileをさわり続けています。 Titanium v1.5.0から入っているわりにはまるで情報が見当たらないdrillbitがとりあえず実行できたのでとりあえずまとめときます。 ちなみにdrillbitとはTitanium MobileのUnit Testing Frameworkです。 とりあえず動かしてわかったところだけ書いて行きます。 ついでにいうと現状は(github)に格納されているテストが実行できただけです。 だれかわかるひといたら是非是非情報をください。お願いします。 Appcelaratorのドキュメント http://developer.appcelerator.com/doc/mobile/drillbit Titanium Mobileがビルドできるようにしとく ドキュメントにTitanium Mobileビルド用のscons
はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く