タグ

testに関するsugyanのブックマーク (91)

  • 「知識乏しくテストせず」 接触確認アプリ「COCOA」不具合 | NHKニュース

    新型コロナウイルスの接触確認アプリで一部の利用者に通知されていなかった問題で、厚生労働省が調査結果を公表しました。 原因について、アプリの開発などに関する職員の知識が乏しく、不具合を見つけるためのテストを実施していなかったなどと指摘しています。 接触確認アプリ「COCOA」をめぐっては、グーグルの基ソフト「アンドロイド」の利用者に感染者と濃厚接触した可能性があっても、ことし2月までのおよそ4か月間、通知がされず、把握もできていなかったことが明らかになっています。 厚生労働省の調査チームによる報告書が16日公表され、不具合が見逃された原因について、去年6月に運用を始めた時点で動作確認のテストを行う環境が整備されず、10月に環境が整ってからも優先的な課題とせずにテストを実施していなかったなどと指摘しました。 その背景として、アプリの開発や運用に関する厚生労働省の職員の知識や経験が乏しく、専門

    「知識乏しくテストせず」 接触確認アプリ「COCOA」不具合 | NHKニュース
  • go-cmpを使う理由とTipsの紹介 - 技術メモ

    はじめに これは Go 4 Advent Calendar 2020 8日目の記事です。 Goのテストにおいて、構造体を含めて型の値を比較したいという場合は往々にしてあります。ロジックの結果はなんらかの値として作用することが多いですから、型の値を比較したい、というのは自然です。私は型の値が等価であるかどうか判定するために、go-cmp というライブラリを使うことが多いです。 github.com しかしGoにおける等価性の仕様は決まっていますし、標準ライブラリの reflect パッケージにも DeepEqual という deeply equal, かどうか判定するメソッドがあります。そこで記事ではなぜわざわざ go-cmp を使っているのかという理由と、go-cmp を使ったときにどのようにして使うか?という go-cmp の使う上でよく使う以下のTipsを提供したいと思います。 Ti

    go-cmpを使う理由とTipsの紹介 - 技術メモ
  • 「FF6」の新たなバグを発売25年後に見つけたテスト技術者の腕前

    1994年に発売された大人気ゲーム「ファイナルファンタジーVI(FF6)」(スーパーファミコン版)をやりこみ、2019年になっても未発見の「バグ」を見つけ出し続けている人がいる。ここ数年、熱心なゲームファンを何度も驚かせているのが、「エディ」のハンドルネームで知られるプレーヤーだ。必須のイベントをクリアせずに先に進める方法を見つけ出し、毎年のようにゲームクリアまでの「歩数」の最少記録を更新している。 記事でいうバグとは、ゲーム開発者が意図していなかったと推測される仕様を含む。特別な操作をすると通常とは異なる挙動となり、いわゆる「裏技」が可能になる。 FF6スーパーファミコン版はスクウェア(現スクウェア・エニックス)が開発したロールプレイングゲームRPG)で、美しいグラフィック、ドラマチックなシナリオ、完成度の高いゲームシステムが好評を博し、全世界で約340万の売り上げを記録した。人気

    「FF6」の新たなバグを発売25年後に見つけたテスト技術者の腕前
  • testeratorを使ってgae/goのunit testを高速化する - Qiita

    testerator はGoogle App Engine for Go(以下gae/go)のUnit Testを高速化するために生まれたライブラリです。 gae/goはサーバのSpinUp速度がJava, Python, PHPに比べて高速なので、最近App Engine Developerたちの間に人気ですが、いかんせんUnitTestの遅さだけは洒落にならないレベルで遅いです。 それを緩和するために生まれたのが、 testerator です。 testerator がやってくれることを理解するためには、まずgae/goUnitTestがなぜ遅いのかを理解する必要があります。 gae/goUnitTestが遅い原因は、テスト環境がgae/pythonの環境に間借りしているからです。 例えば、公式のサンプル にある通り、 aetest.NewContext() を利用すると、裏ではg

    testeratorを使ってgae/goのunit testを高速化する - Qiita
  • 一から始めるJavaScriptユニットテスト - Hatena Developer Blog

    この記事は、はてなエンジニアアドベントカレンダー2016の5日目の記事です。 こんにちは、はてなでアプリケーションエンジニアをしている id:shiba_yu36 です。先日、buildersconにおいて、現在所属しているプロジェクトJavaScriptのユニットテストを導入した知見について、「一から始めるJavaScriptユニットテスト」というタイトルで発表しました。 speakerdeck.com この発表は、実際にJavaScriptのユニットテスト環境を作ってみると非常にハードルが高いと感じたので、そのハードルを少しでも下げられればという思いで、非常にシンプルな例で一から環境を作る例を紹介しました。アジェンダは次のとおりでした。 カクヨムのJS環境 JSのテストツールを整理する 通常の関数のユニットテスト DOM操作する機能のユニットテスト カクヨムのJS環境や、JSのテスト

    一から始めるJavaScriptユニットテスト - Hatena Developer Blog
  • Emacsで今編集しているJSのテストのみ実行する(Karma + Mocha環境の場合) - $shibayu36->blog;

    blog.shibayu36.org 前回の記事でKarma, Mocha, Chaiを使ったJSのユニットテスト環境を作ることができた。しかしテストを書き続けていると、「手元で全体のテストを再実行するのに時間がかかる」という問題が起こった。そこで今回は「今編集中のテストのみをEmacsから実行する」という作戦で問題を解決しようと考えた。 今回のサンプルコードは https://github.com/shibayu36/typescript-project-sample/tree/9e6baf1ebc9cd60083515918b23b6cb1dc24cea8 にあるので参考に。 課題 JSのテストをずっと書き続けていると全体のテストを実行するのに10〜数十秒程度かかるようになってくる 手元でkarma startを使ってテストをしていると、ファイル変更のたびにテストを実行してくれるがka

    Emacsで今編集しているJSのテストのみ実行する(Karma + Mocha環境の場合) - $shibayu36->blog;
  • 組織にテストを書く文化を根付かせる戦略と戦術

    組織にテストを書く文化を根付かせる戦略と戦術 Feb 16, 2016 @ 日OSS推進フォーラム Read less

    組織にテストを書く文化を根付かせる戦略と戦術
  • Go言語でファジング

    この記事はGo Advent Calendar 2015の21日目の記事です. 今年もGoコミュニティーから多くのツールが登場した.その中でも異彩を放っていたのがGoogleのDynamic testing toolsチームの@dvyukov氏によるgo-fuzzである. go-fuzzはGo関数のファジングを行うツールである.このツールはとても強力で標準パッケージで100以上,golang.org/x/パッケージで40以上,その他を含めると300以上のバグを発見するという実績を残している(cf. Trophies). 記事ではこのgo-fuzzの紹介を行う. ファジングとは? Fuzz testing - Wikipedia, the free encyclopedia ソフトウェアの脆弱性検出におけるファジングの活用 「ファジング」とはソフトウェアのテスト手法である.テスト対象となる

  • Java web application testing

    春のJavaScript祭2015in GMO YoursでSeleniumとJavaScriptの話をしました。 キャプチャを取ったり、自働入力をしたり、ちょっと便利に楽をするためのSelenium活用についてです

    Java web application testing
  • Go言語でテストしやすいコマンドラインツールをつくる

    記事はGo Advent Calendar 2014の18日目の記事です. Go言語は,クロスコンパイルや配布のしやすさからコマンドラインツールの作成に採用されることが多い.自分もGo言語でいくつかのコマンドラインツールを作成してきた.例えば,GitHub Releaseへのツールのアップロードを簡単に行うghrというコマンドラインツールを開発をしている. コマンドラインツールをつくるときもテストは重要である.Go言語では標準テストパッケージだけで十分なテストを書くことができる.しかし,コマンドラインツールは標準出力や標準入力といったI/O処理が多く発生する.そのテスト,例えばある引数を受けたらこの出力を返し,この終了ステータスで終了するといったテストは,ちゃんとした手法が確立されているわけではなく,迷うことが多い(少なくとも自分は結構悩んだ). 記事では,いくつかのOSSツール(得に

  • Docker コンテナで MySQL を使ったテストの高速化 - stfuawsc

    全国1億2000万の Docker ファンの皆さんこんにちは。 MySQL の起動がとてつもなく遅いのは有名な話。 ところが Docker コンテナの起動はなかなか早いので、 MySQL を使っているようなテストを高速化するケースで有用性が認められるのではないかと思って PoC を書いてみた。 (宣伝)こういった話も含めて YAPC でトークしたいので SNS 等で upvote お願いします: ( ✌'ω')✌ 楽しいモデル層開発 - YAPC::Asia Tokyo 2014 (宣伝おわり) MySQL を使ったテスト MySQL を使ったテストをする場合、だいたい次の 2 パターンになる。 MySQL をテストのたびに起動してクリーンな状態で使う ローカルにデーモンとして起動した MySQL に接続して DROP TABLE や TRUNCATE でクリーンな状態にして使う だけど、

  • テストコードを書く文化を根付かせたい─和田卓人|【Tech総研】

    におけるテスト駆動開発(TDD)のスペシャリストとして知られる和田卓人氏。講演活動やハンズオンイベントを通してテストの重要性を語り続けている。その深奥にあるプログラムの哲学とは── 父親がデータベース設計を得意にするソフトウェア・エンジニアで、受託開発の会社を経営していました。私は大学在学中からその仕事を手伝っていて、その延長で大学を出るとその会社の一員になりました。 そのころのことで一番印象に残っているのは、電子政府関連の公共システム開発に関わる大規模プロジェクトへの参加です。複数のSIerやソフトハウスが関わり、要件定義に時間をかけ、膨大な設計文書をつくっては、何千人というエンジニアを投入する、典型的な大規模システム開発です。私はそこにSEの一員として参加することになりました。 ただ、私は初日から生意気にも「Excel設計書を書き続けるために来たのではありません」と嘆願して、基盤

  • 第23回 Perlアプリケーションのテストと高速なCI環境構築術(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はmyfinderこと久森達郎さんで、テーマは「Perlアプリケーションのテストと高速なCI環境構築術」です。テストに利用するさまざまなモジュールから、CI(Continuous Integration、継続的インテグレーション)環境の構築、そして増えたテストを高速に実行する枠組みの構築までを紹介します。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 テストの目的 まずはテストを行う目的を整理します。 コードを壊していないことを確認する 1人で開発するものであれば、どんな状況であれ責任を負うのは自分だけですが、チームや組織が複数にまたがる場合にはテストが重要になります。プロダクトが大きくなるにつれ、自分の開発によって想定外の機能にも影響を与えることが多くなります。逆にほかの開発者が行ったコミットによって

    第23回 Perlアプリケーションのテストと高速なCI環境構築術(1) | gihyo.jp
  • Test::Base::SubTest というモジュールを作った。またはテストケースとテストコードは分離されていたほうが嬉しい話 - Cside::Weblog

    2014-01-15 Test::Base::SubTest というモジュールを作った。またはテストケースとテストコードは分離されていたほうが嬉しい話 perl 自分は Test::Base が好きでよく使うのだけど、subtest 的な、テストのグルーピングができないのがずっっっと不満だったので、Test::Base::SubTest というモジュールを書いた。 https://metacpan.org/release/CSIDE/Test-Base-SubTest-0.1 https://github.com/Cside/Test-Base-SubTest 以下の様な拡張記法が使えるようになる。### でsubtestの 1 単位を表現する。 use Test::Base::SubTest; filters { input => [qw(eval)] }; run_is input =

    Test::Base::SubTest というモジュールを作った。またはテストケースとテストコードは分離されていたほうが嬉しい話 - Cside::Weblog
  • 不具合にテストを書いて立ち向かう - t-wadaのブログ

    テストを行っている品質保証チームや、実際にシステムを使っているお客様から不具合が報告されたとき、あなたはどう思いますか? 悲しんだり、恥ずかしいと思い、不具合修正にすぐに着手したいと気がはやるのが人情というものです。しかし、焦っているときに行う作業はしばしば視野が狭く、一つの不具合修正が三つの新たな不具合を生んでしまうようなことになりがちです。 テスト駆動開発(TDD : Test Driven Development)は、プログラマが自分の不安を克服し、自分が書くコードに自信を持ちながら一歩一歩進んでいくための手法です。不具合の発生は、端的に言えばこれまでの「自信」を揺らがせる事態です。テスト駆動開発者は不具合にどう立ち向かうのでしょうか? やはりテストを書いて立ち向かってゆくのです。私はテスト駆動開発を数年間実践してきた中で、心がけているひとつの「掟」があります。それは「不具合の修正時

    不具合にテストを書いて立ち向かう - t-wadaのブログ
  • JavaScriptでdoctestを行う power-doctest を作った

    power-doctest という doctest風 にコードと評価結果のコメントを並べるとテストとして実行出来るようなNode製のツールを作りました。

    JavaScriptでdoctestを行う power-doctest を作った
  • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

    和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
  • 関西Emacs 08に行って来ました - $shibayu36->blog;

    関西Emacsに行って来ました。僕は軽くEmacs上でテストするっていう話をしました。あといろいろ気になってたことの相談とか、便利な拡張とかを教えてもらったりしました。 Emacsでテストする 131026 kansai-emacs from Yuki Shibazaki https://github.com/shibayu36/emacs/blob/master/emacs.d/inits/20-edit-mode-perl.el#L107..L141 これはもともとmechairoiさんが作ったものを少しずつ変えていったものです。 run-perl-testをすると普通にファイル全体のテストを実行してくれます。ただテストが多くなってくると実行に時間がかかるので変更に関係のある部分だけテストしたくなってくると思います。それでrun-perl-method-testというのを使って、現在カ

    関西Emacs 08に行って来ました - $shibayu36->blog;
  • perl な web application のためのテスト情報 を #yapcasia で話してきました - soh335 memo

    yapc::asia 2013 で perl の test 回りの話をしてきました。 去年からテストについて色々取り組んでいた所で、実際どういうモジュールでどうコードを書いてるかっていう説明が出来たと思います。 他の人がどういうテストを書いているかとかも気になるので、なにか気になったりしたら話したりしたいです。 継ぎ足しでスライドを作っていたら、 test::mock::guard のコードの説明がなくなっていて、なくなっていたと思ったら後ろから出てきたり、久しぶりに人前で喋ったせいか、珈琲のストローとマイクを間違えて喋ったりしました。 335さんこういうキャラの人だったのか。— ダメ人間 (@dameninngenn) September 20, 2013 335「びっくりだ!」聴衆(こっちがだ) #yapcasia— ひさいち (@hisaichi5518) September 20,

    perl な web application のためのテスト情報 を #yapcasia で話してきました - soh335 memo
    sugyan
    sugyan 2013/09/21
    面白かったし良い内容だった
  • Integration Testing Practice using Perl

    - Integration testing verifies the interaction and orchestration between modules and components in a system. It focuses on testing modules together in a real environment. - The document discusses two case studies for integration testing: a web API with modules for the API server, database, and cache; and a web application with modules for the MVC architecture and connections to database and cache.

    Integration Testing Practice using Perl