タグ

テストに関するt-murachiのブックマーク (57)

  • 32号:わたしは、リスクベースドテストが嫌いです|Kouichi Akiyama

    ≣ はじめに「わたしは、リスクベースドテストが嫌いです」と言ったら、「じゃあ、なんでブログに書くの? 好きで楽しいことだけを書いたらいいじゃない?」と言われると思います。 まったくその通りです。ぐぅの音もでません。ただ、嫌いなくせに、「リスク」や「リスクへの対応」の話はしているので、ひょっとしたらツンデレなのかも? とも思います。 ということで、自分がどう考えているのかを書き出してまとめることで、一歩進めないかな? とそんな期待をもって書き始めています。ですから、今回のエントリーは「単なる意見(思い込み)」であって、「普遍的な何か(証明済みの真理)」ではないことを初めにお断りします。 ≣ リスクベースドテストとは『ISTQBテスト技術者資格制度 Foundation Level シラバス 日語版 Version 2018.J03』では、「リスクベースドテスト」をテスト戦略のひとつ(分析的

    32号:わたしは、リスクベースドテストが嫌いです|Kouichi Akiyama
    t-murachi
    t-murachi 2020/11/04
    障害管理と対応の優先順位付けの話であるならもっと単純なんだけどね…(´・_・`) テスト戦略の結果、重大な coverage が欠損するとか、マジで洒落にならない(´・_・`)
  • テスト、正常系から書くか異常系から書くか - hitode909の日記

    今週は同僚と毎日長時間ペアプロしていた。 おもしろかったのが、同僚のテストの書き進め方で、一番複雑な正常系のテストをちゃんと書いてから、その複雑なテストをもとに、いろんな条件を削っていって異常系のテストを作っていく、というところ。 僕は逆で、入力が空なら何も起きない、とか、一番簡単な異常系のテストを書いて、そこだけ通るのを確認して、よしよし、と進めていって、メソッド来の動きは最後に確認して終わる。 変な進め方だな〜(主観)と思って眺めていたけど、たしかに正常系のテストが通っていれば、あとはバリデーションまわりのチェックとか、例外となる場合のチェックをすれば終わりで、異常系のテストがすごい速さで書かれていておもしろかった。 …という話をしたら、チームメンバーたちは正常系のテストから書きはじめるという人が多くて、正しくことを確認してから、1個ずつ前提となる条件を外してみて試す、と聞いて、同値

    テスト、正常系から書くか異常系から書くか - hitode909の日記
    t-murachi
    t-murachi 2020/10/23
    アドホックに開発進めてるとテストもアドホックに追加していくノリになっちゃうけど、本当はテストじゃなくてユースケース定義する時点で異常系のシナリオも網羅しておくべきなんだよね(´・ω・`)
  • テストを自動化するのをやめ、自動テストを作ろう

    July Tech Festa 2020 TrackB https://jtf2020.peatix.com/

    テストを自動化するのをやめ、自動テストを作ろう
    t-murachi
    t-murachi 2020/07/26
    タイトルから全く新しいアプローチの話を期待したんだけど、大して新しい話はなかった(´・ω・`) ふんわりテストは自動化しても高コスト過ぎてCDサイクルの足を引っ張りかねないと思う(´・ω・`)
  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

    長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

    自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
  • SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか?

    SpotifyがミスによりKubernetes番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか? 今年、2019年5月20日から3日間にわたりスペイン バルセロナで開催されたKubeCon+CloudNativeCon Europe 2019の基調講演では、SpotifyがミスによってKubernetesのクラスタを消去してしまった経験を振り返るという非常に興味深いセッション「Keynote: How Spotify Accidentally Deleted All its Kube Clusters with No User Impact - David Xia」(基調講演:SpotifyはいかにしてKubernetesクラスタの全削除というミスにもかかわらず顧客への影響を引き起こさなかったのか?)が行われました。 障害が起こることをあらかじめ計画とし

    SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか?
    t-murachi
    t-murachi 2019/07/08
    ふつーの現場が移行中にこれやったら部分的に致命的な壊れ方してデータ矛盾の修復のためにN日単位でサービス止めるやつや(´・ω・`)
  • テストエンジニアの観点を持ってテスト書いていくぞな話 - kariadの戯言

    ごきげんよう。かりあどです。 12/15~16に開催されたWACATE2018 冬 〜C’mon baby ジドウカ〜 に参加してきました。 そこでテストエンジニアの方々と色々議論できたのでそれを書きます。 またt_wadaさんによる講演もとても素晴らしかったので感想を書きます。 WACATEそのものの感想よりも議論の内容を書きたいので、WACATEって何?という方はこちら。 wacate.jp 当初の予定は参加レポートだったのですが、議論した内容があまりにもよかったのと、個人的に振り返りたかったので急遽予定変更です。 なおこちらの記事はOisix ra daichi Inc. Advent Calendar 2018の18日目となります。 前日の弊社スーパーSREエンジニアの@morihaya55さんの記事はこちら adventar.org 開発者とテストの関わりについて 私は普段iOS

    テストエンジニアの観点を持ってテスト書いていくぞな話 - kariadの戯言
    t-murachi
    t-murachi 2018/12/19
    ホワイトリストの話、カウントしない1円玉はブラックリストのメンバーだね。この問題、要件がホワイトリストを明示していないのが一番の駄目ポイントだと思う。
  • Webパフォーマンス虎の巻

    Webパフォーマンス向上施策のために、今更ながら超速1を読んだので、今までの自分の知見と合わせてまとめてみます。 なるべく柔らかく、改善施策ってまず何をどうすればいいの?という疑問を持った人に向けて書いています。 ▪️格言 そもそもWebは速い。遅くしているのは我々です。大抵は技術の問題ではなくて、人の問題。 引用元: テクニックではなく、今、気で取り組むべきWebパフォーマンス (html5jパフォーマンス部 部長 竹洞さん) 心得 パフォーマンス向上に対する施策は大別すると以下の2通り 軽量化 (単純にやりとりするデータ容量を小さくすること) 圧縮 削除 最適化 (その時に最も適している実装・実行をとること) 経路・順番の変更 非同期 もっとも遅くしている原因を探して、それを対策するのが原則。「対効果」が絶対的正義である。手段から入るのは愚策。まず先に原因を知ることが重要。 ▪️1

    Webパフォーマンス虎の巻
    t-murachi
    t-murachi 2018/10/26
    「一度に大量のデータをまとめて取得すると、リクエスト回数は最小限ですが、その後のスクリプト処理・レンダリング処理においてメモリリークを招く原因にもなりかねない」<ここがちょっとよくわからない(´・ω・`)
  • Python + Selenium で Chrome の自動操作を一通り(ログイン、ダウンロード、他)

    はじめに Python + Selenium + Chrome で、要素の取得、クリックなどの UI系の操作、待機、ページ全体のスクリーンショットなど、一通り試してみます。 PhantomJS はもう更新されないということなので、ブラウザは Chrome にします。 この記事には、Selenium の API に関する情報と Chrome に特化した情報がありますが、前者の Selenium の使い方に関する情報は Firefox など別のブラウザでも使えます。 注意事項 ウェブの自動テストやスクレイピングで使われる技術です。特にスクレイピングでは、著作権の問題や、サーバー側の負荷、各種規約(会員としてログインする場合の会員規約等)やマナーなどを考慮する必要があります。 たとえば、Twitter など利用規約で明示的にスクレイピングが禁止されていることや、robot.txt などでクローリ

    Python + Selenium で Chrome の自動操作を一通り(ログイン、ダウンロード、他)
    t-murachi
    t-murachi 2018/10/15
    pip install googledriver-binary した方が楽だぞ。importすればパスの指定も要らなくなるし。あと要素の選択はJQueryみたいなcss selectorも使える。
  • ASTER-テスト設計コンテスト'21-テスト設計チュートリアル テスコン編

    テストと呼んではいるものの、曖昧で抜けだらけの発注先の仕様をなぞるだけの、意図の分からない単純労働に膨大な時間を費やしていませんか。 品質保証と呼びながら、一体どんな品質を保証しているかの全体像すら誰にも説明できない苦境に陥ってはいませんか。 こうした質の低いテストから脱却するためのチャレンジの場として、NPO法人ASTERではテスト設計コンテストを開催しています。 このチュートリアルでは、過去のコンテストの応募作を基にして、意図がきちんと分かり全体像を説明できる質の高いテストを設計するための考え方を解説します。 なお、昨年度のテスト設計コンテストの応募作の解析も取り入れた内容になっておりますので、過去に聴講したことのある方でも参考になるものと思います。多くの方々のご参加をお待ちしています。 チュートリアルは、昨年までテスト設計コンテスト OPENクラスチュートリアルとして実施していたも

  • テスト設計コンテストOPEN東京チュートリアルまとめ #テスコン - Togetter

    Yasuharu NISHI @YasuharuNishi って資料に書くの忘れたorz RT ちなみにU30の資料もOpenの資料も、VSTePの説明をしているわけではないです。単に、説明したいことを一貫して説明するために概念が比較的揃っている(メタモデル上のスーパーセット)だけなので、各現場で使っている方法論に合わせてその概念に落 2018-10-04 21:32:49

    テスト設計コンテストOPEN東京チュートリアルまとめ #テスコン - Togetter
  • 日本企業が「カオスエンジニアリングやっていく宣言」を出せた理由 (1/2):クックパッドに直撃 - @IT

    クックパッドが2018年8月2日に公開したブログエントリ「Chaos Engineering やっていく宣言」に大きな反響があった。米国を中心に多くの企業で実践されているが、疑似的とはいえ番環境に障害を起こさせるというカオスエンジニアリングを日で実践するのは、まず不可能という向きが多かったからだ。なぜ、クックパッドでは実践することが可能になったのか。 今、エンジニアの間で注目を集めているキーワードが「カオスエンジニアリング」だ。動画配信サービスを提供するNetflixが導入したことで着目されるようになった手法で、番サービスであえて疑似的な不具合を引き起こし、システムがどのように振る舞うかを把握する。ひいては、マイクロサービスを採用した大規模システムの安定性、可用性向上につなげていくことを目的とした取り組みだ。 カオスエンジニアリングについては、いちエンジニアとして「面白そう、やってみ

    日本企業が「カオスエンジニアリングやっていく宣言」を出せた理由 (1/2):クックパッドに直撃 - @IT
  • CIとTest Sizesの話 - asterisc

    はじめに 前回 akito0107.hatenablog.com どちらかというとこっちが編。 前回の記事ではTest Sizesについて紹介したが、今回の記事はその分類が実際の開発にどう役に立っているのかをまとめたいと思う。もちろん用語の統一も大きな意味を持つが、それ以外のことを書いていきたい。 具体的には、CIでテストのパイプラインを組む時にこの分類どおりに組んでいくと綺麗に整理でき、CI全体のスループット向上にも効果がでているという話だ。今回の話は僕たちのチームに特化した内容になるが、1) Test SizesごとにTestの起動コマンドを分ける、 2) Smallから順に実行していき、落ちるべきテストはできるだけ早期に落とす、というポイントはどこにでも使えるものだと思う。 コンテナ技術とテスト 僕たちはローカルの開発環境だけではなく、番環境やCI環境でコンテナ技術(主にDock

    CIとTest Sizesの話 - asterisc
    t-murachi
    t-murachi 2018/08/30
    CI/CDの都合でテストの分類を定義するという考え方。とても理にかなっていると思う。
  • Webブラウザの操作をJavaScriptで自動化。Headless Chromeのフレームワーク「Puppeteer」がバージョン1.0に到達。ChromeのDevToolsチームが開発

    UIを持たずスクリプトから操作可能なWebブラウザのHeadless Chromeを利用するためのフレームワーク「Puppeteer」がバージョン1.0に到達した。Webアプリケーションの自動テストなどに利用可能だ。 GoogleのWebブラウザ「Chrome」は、ユーザーインターフェイスを持たずコマンドラインやリモートデバッグ機能を通じてWebブラウザを操作できる「Headless Chrome」機能を備えています。この機能は2017年6月にリリースされた「Chrome 59」から実現されたものです。 Headless Chromeを利用すると人間がWebブラウザをマウスやキーボードで操作することなく、プログラムでHeadless Chromeを起動し、特定のWebページを読み込み、画面キャプチャの取得や、指定された場所をクリックし、値を入力し結果を取得する、といった操作を自動的に行わせ

    Webブラウザの操作をJavaScriptで自動化。Headless Chromeのフレームワーク「Puppeteer」がバージョン1.0に到達。ChromeのDevToolsチームが開発
  • Javaで簡単にUIテストを書けるSelenideを使おう~Selenideの概要とテストの保守性を上げるPage Objectパターンの紹介

    illustration by iwasawa Selenideとは Selenideとは、エストニアにあるCodeborne社のAndrei Solntsev氏を中心に開発が行われているWebDriverのJavaラッパーの一つで、同じJavaで実装されたFluentLeniumやGroovyでのGebに相当するものです。WebDriverはプログラムからブラウザを操作するAPIを提供していますが、基的に低レベルAPIで自動テストを記述するには大量のコードが必要となります。SelenideはWebDriverを基盤としながら高水準APIを提供することで、WebDriverを素で使うよりも容易にかつ記述量を抑えてテストを記述することができます。 Selenideの特徴 以下ではSelenideの特徴を述べていきます。これらの中には上記で挙げたFluentLeniumやGebでも提供されて

    Javaで簡単にUIテストを書けるSelenideを使おう~Selenideの概要とテストの保守性を上げるPage Objectパターンの紹介
    t-murachi
    t-murachi 2017/08/25
    素晴らしい。JQ的に書けてそのままメソッドチェーンでAssertion出来るのいいね。
  • 開発者視点のテストとユーザ視点のテストの違いについて|Tsuyoshi Yumoto

    この原稿は、2009年6月に発売された、システム開発ジャーナルvol10の特集「特集1 困ったら読む! 困る前に読む! 今すぐ使える エンジニアのためのソフトウェアテスト術」の総論(最初のまえがきみたいなもの)の後半部分として執筆したものです。この特集は私が豆蔵に在籍していたころに、大西さんと私で企画したもので、多くのイケてる技術者の方々にお願いして各パートを執筆してもらったものです。以下が目次です。 総論 ソフトウェアテストの現状と知っておくべきこと Part1 独立したテストチームとしてのテスト計画・テスト設計仕様 テストをスムーズに行う?管理者のための“段取り”術 品質を向上させるためのインシデントレポートの書き方 テストツールの活用 自動化できる/できないの判断のコツ Part2 開発者による開発者のためのDeveloper Testing OSSのツールを使って静的テストを自動化

    開発者視点のテストとユーザ視点のテストの違いについて|Tsuyoshi Yumoto
  • 絶対にやってはいけない「Apple IDをテストで13歳未満にすること・・」

    概要 AppleIDの生年月日を13歳未満にすると、 そのアカウントが成長!?して13歳になるまで修正できないというお話(;;) Apple IDとは -> iPhoneとかMacとか使うというに使うアレ 公式サイト説明:https://support.apple.com/ja-jp/apple-id Apple ID とは? Apple ID とは、App Store、Apple MusiciCloud、iMessage、FaceTime などの Apple のサービスを利用する時に使うアカウントのことです。たった一つの Apple ID とパスワードで Apple のすべてのサービスにサインインできます。 詳細 今回やりたかったこと →ファミリー共有のテストをしたい(未成年のアカウントで) 子供のアカウントでアプリで課金したりするときは、親のアカウントに承認リクエストが飛びます。 →

    絶対にやってはいけない「Apple IDをテストで13歳未満にすること・・」
    t-murachi
    t-murachi 2017/08/10
    本人確認の実効性がないアカウントのプロフィール情報を変更できないって言うのも変な話だな。親のアカウントからのみ修正が可能とかにした方が要件に見合うんでねーの?
  • Windows Application DriverでWindowsアプリケーションのテストを自動化しよう - Qiita

    Windows Application Driverとは? https://github.com/Microsoft/WinAppDriver MicrosoftがOSSとして開発しているAppiumDriverの1つで、AppiumやSelenium互換のAPIWindowsアプリケーション(WinFormsからWPF, ストアアプリまで)を操作できます。 これまでWindowsアプリケーションの自動テストには高価な商用ツールか商用テクニックや知識が必要なOSSが必要でしたが、Windows Application DriverはSeleniumの知識と経験を活かすことができます。またMicrosoft自体が開発の中心になっているため、今後のサポートも安心です。さらにAppium 5系からはWindows Application DriverがDriverの1つとして正式に取り込まれて

    Windows Application DriverでWindowsアプリケーションのテストを自動化しよう - Qiita
    t-murachi
    t-murachi 2017/04/19
    ほへー、便利な世の中になったもんじゃのぅ…(´・ω・`)
  • たった1バイトの書き込みが引き起こすルート権限での実行の脆弱性 | POSTD

    2016年9月22日(木)。こんなメールが私のもとに飛び込んできました。 件名: arescreatequery OOB write c-aresプロジェクト のメンテナのひとりとして、c-aresにセキュリティ問題の恐れがあるというメールを受け取ったのです。実際、そのとおりでした。この問題を知らせてくれたのは、かつてChromeOSの脆弱性をGoogleに報告したこともある人でした。 このc-aresの不具合を悪用すると、 ChromeOS上で、rootユーザーとしてJavaScriptのコードを実行できる ことがわかりました。ChromeOS史上最悪の脆弱性かもしれません。報告者には、相当な額の報奨金が贈られることでしょう。 この動きを実現したり、どうやって実現するのかを説明したりするのはとても面倒な作業だったでしょう。報告者がこれを発見したこと、そしてさらに深く掘り下げて、再現可能な

    たった1バイトの書き込みが引き起こすルート権限での実行の脆弱性 | POSTD
    t-murachi
    t-murachi 2016/11/17
    こういう人たちに賞金稼ぎやらせてないで高いサラリーで雇い入れるべきなんだよね本当は(´・ω・`)
  • ASTER-テスト設計チュートリアル ちびこん編 ‘21

    1. テスト観点(テストすべきこと)を整理して、網羅的に挙げよう テストすべきことを挙げきることは、バグを防ぐために大切な考え方です。ここではテストすべきことを網羅的に挙げるとはどのようなことか、どのように行ったらよいかについて、Myersの三角形問題を題材にして具体例を挙げながら説明します。また、テストは網羅的に行うことも必要ですが、効率的にバグを見つけるためにピンポイントでバグを狙って検出する、というテスト設計も必要です。ピンポイントでバグを狙うためのテスト観点やその導き方についても合わせて紹介します。 2. テストフレーム(テストケースの構造)を考えよう テストすべきことをテスト観点として列挙したら、それらをまとめてテストケースにしていきます。その時にテストケースの構造を考えると、網羅しやすいテスト設計になります。ここではテストケースの構造とはどのようなことか、どのようにまとめていっ

    t-murachi
    t-murachi 2016/08/22
    もう終わっちゃったけど…資料はあとで読みまふ(´・ω・`)
  • Android/iOSアプリのテストの区分戦略 - クックパッド開発者ブログ

    技術部の松尾(@Kazu_cocoa)です。 クックパッドのモバイルアプリ開発では、どのようなテストを書き、どのようなタイミングで、どのようなテストを実施するか?に関してエンジニア各位が意識を合わせるためにテストサイズを定義し運用してきました。ここでは、そんなテストサイズに関して簡単ですがまとめておこうと思います。 テストサイズとは ソフトウェアテストに関わったことがある方なら テストレベル という言葉には出会ったことがあるかと思います。JSTQBでは、このテストレベルは"管理していくテストの活動のグループ"と定義しています*1。 そうでない方も、俗に言う単体テスト/統合テストなど聞いたことがあるかと思いますが、その区分がここで示しているテストレベルとなります。 一方、このテストレベルはV字型と言われる開発工程と合わせて世の中で広く使われているため、社内における共通認識を構築するにあたり個

    Android/iOSアプリのテストの区分戦略 - クックパッド開発者ブログ