タグ

テストに関するrin51のブックマーク (110)

  • JaSST'18 Tokyo 基調講演「Advances in Continuous Integration Testing at Google」 質疑応答 #JaSST

    broccoli @nihonbuson ハードウェアの自動化に良いアイディアはあるか? どれだけデジタル化が進んでいるかによる アルゴリズムのみをテストするならば可能だと思う #JaSST 2018-03-07 10:52:44 broccoli @nihonbuson トランジションの話の前提として、どれぐらいのカバレッジが達成できているのか? 別のシステムを設けて、カバレッジを測定している。 コードカバレッジはチームに寄って違う。 80%以上のチームもあれば計っていないチームもある 収入が高いチームはカバレッジが高い。成熟度によって変わる #JaSST 2018-03-07 10:54:23 broccoli @nihonbuson テストができている段階の話をしていたが、どういうテストを作るというような指針はあるか? 一般的なルールは、コードレビュー時に同時にテストコードをサブミッ

    JaSST'18 Tokyo 基調講演「Advances in Continuous Integration Testing at Google」 質疑応答 #JaSST
  • 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

    PHPerKaigi 2022 2022/04/10 10:40〜 Track A レギュラートーク(40分) PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 Agenda - 型宣言 - 列挙型 - ドメインモデリング - 不変性と等価性 - 完全性 - レイヤーと責務

    予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022
  • テストを書くか書かないかの状況判断 / Deciding whether to write tests - DeNA Tech Talk

    2014/12/09 に DeNA 社内勉強会にお招きいただいて話した内容です

    テストを書くか書かないかの状況判断 / Deciding whether to write tests - DeNA Tech Talk
  • モックは必要悪で、しないにこしたことはない - blog.8-p.info

    Mockitogomock が使いやすいせいか、単体テストというのはモックするものである、という思い込みがあるのか、人々がモックしすぎているのを時折みかける。 モックは必要悪で、しないにこしたことはない。外部の API サーバーとかはガンガン叩くわけにもいかないけれど、ファイル読み書きくらいは、実際にファイルを作ったり消したりしてしまっていい。/etc/passwd を消すとか、1GB のファイルを作るとかだと難しいかもしれないけれど、その場合でも、パスのプレフィックスを指定できるようにして、一時ディレクトリの中の etc/passwd を使うとか、ファイルサイズを指定できるようにするとか、逃げ道はいくつもある。そこを飛ばして「ファイル操作は一律モックしましょう」とか頑張りだすと辛いことになりがちだ。 モックの一番の問題は、番とテストで違うコードが走ることで、これは自動テストの価値

  • Raspberry Piは本当に壊れやすいのか

    最近「Raspberry Piはすぐ壊れる」という趣旨の話題がTL上に出てきたので複雑な心境で眺めていました。 (以下簡略化のためRaspberryPi = RPiにします) もし「RPiはすぐ壊れるから製品投入に向いてない」と思っている方がいるのであれば、その理由でRPiを切ってるのはもったいないなぁと思いこの記事を書いてみました。 カンタンに自己紹介をしておくと、某社でRPiをベースにした製品を作り「RPiはすぐ壊れないものなのか?」の検証を進めていました。今では各地で5000台以上は動いてると思います。 ざっと書いたので、あまり技術的に詳しいことは書いてませんが、読み物として楽しんでもらえれば幸いです。 (これらテストをしたのがどのバージョンのRPiなのかについては触れません。読者さんが使いたいと思ったRPiでで気になる部分をテストしてもらうことが良いと思っています) 10,000回

    Raspberry Piは本当に壊れやすいのか
  • Qbook | ソフトウェアの品質向上プラットフォーム by VALTES

    INFORMATION 2023/12/01【年末年始休業のお知らせ】2023/12/28(木)~2024/1/3(水)まで 2023/11/13新ダウンロード資料「はじめてのテスト自動化導入の手引き」を公開しました。 2023/10/16【新ダウンロード資料】生成AIツール業務利用に関する調査結果 一覧へ 【2024年上半期(1~6月)】メタバース/VR関連のイベントまとめ 2024年の上半期(1~6月)に国内と海外で開催する、メタバース/VR系イベントをご紹介いたします。 メタバース/VR系イベントは、オンラインの利便性とリアルなコミュニケーション体験を組み合わせられることが特徴です。従来のオンラインイベントとは異なり、参加者が積極的にイベントに関われるため、ビジネスの訴求力が増すといわれています。 今回は、ビジネス関係はもちろん、一般の方でも気軽に参加できるイベン 「顧客視点と品質の

    Qbook | ソフトウェアの品質向上プラットフォーム by VALTES
  • freeeのQAの目指す姿-1/3 - freee Developers Hub

    freeeのQAチームに所属する、テスト師匠のyumotsuyoです。 freeeに入社したのが2019年7月1日なので、早いものでfreeeに入って8ヶ月になります。入社してすぐに、「ぶっちぎりのコア品質」というOKRの達成のための活動の1つを頑張って欲しいと言われました。 この活動を通して、freeeのプロダクトの良い点はいくつもありますが、「ぶっちぎりのコア品質」とは品質面でも他より抜き出てfreeeを使いたいと思ってもらえるようなプロダクトにするってことだと理解しました。 8ヶ月経ち、QAチームのみんなでいろいろ話をしていく中で、現時点で私が思うfreeeのQAはここを目指していくべきだと考えていることをいったん共有していろいろ意見を聞きたいので、何回かに分けて書いていくことにします。 freeeの開発においてQAの目指すべきこと 1のQAが目指すべきことを実現させるためのfree

    freeeのQAの目指す姿-1/3 - freee Developers Hub
    rin51
    rin51 2020/03/02
    「予防テスト」はスモークテストやレグレッションテストと考えていいんだろか
  • 「アプリケーションが壊れているのに検知できないテストコード」を書かないようにするための、べからず集 - Qiita

    はじめに テストコードを書くことは重要です。 テストコードがないアプリケーションよりもテストコードがあるアプリケーションの方が望ましいことは間違いありません。 ですが、テストコードも書き方を間違えると、アプリケーションが壊れているのに正しく検知できないテストを書いてしまう可能性があります。 この記事ではそんな「アプリケーションが壊れているのに正しく検知できないテスト」のコード例を「〜するべからず(〜してはいけない)」の形式で紹介し、その修正方法を説明していきます。 サンプルコードはRSpecで書いてます(でも他の言語でも考え方は同じはず) サンプルコードはRailsアプリケーションをRSpecでテストする場合を想定したものになっていますが、基的な考え方自体は他の言語やテスティングフレームワークでも適用可能なはずです。 RSpecのイロハについて先に学んでおきたいかたは「使えるRSpec入

    「アプリケーションが壊れているのに検知できないテストコード」を書かないようにするための、べからず集 - Qiita
  • 自動テストの実行環境をDockerでお気軽引っ越し - ZOZO TECH BLOG

    どうも品質管理部のキムラリョーです。 Selenium & Pythonを利用した自動テストプロジェクトの再構築をDockerを使って簡単にしたい、という話です。 これまでの自動テスト 実行までに必要な手順 1. リポジトリクローン 2. Pythonインストール 3. pipで必要なパッケージをインストール 4. Dockerインストール 5. 自動テスト実行 ターミナルからmainを実行すると、Selenium Gridのコンテナを起動した後にtestautoが実行されます。testautoはSelenium Gridに接続してブラウザを操作しながらテストを行います。 Selenium Gridだから起動時などの設定で様々な形に切り替える事ができます。Nodeを増やしたら並列も可能だし、ヘッドレスも使えるし、気軽にブラウザの設定内容を変えられます。 このプロジェクトは作成者である自分だ

    自動テストの実行環境をDockerでお気軽引っ越し - ZOZO TECH BLOG
  • 1870件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術 - Qiita

    はじめに この記事は Linux Advent Calendar 2019 の 23 日目の記事です。 自己紹介 こんにちは。OSSセキュリティ技術の会 の fujiihda です。これまで Linux カーネルを含む OSS に関連する技術調査、技術講演、開発、サポート等を経験してきました。最近では、技術コミュニティを設立する側や運営側に関わらせていただく機会も増えてきました。 記事で扱うテーマ カーネルのテスト自動化技術として Google の Dmitry Vyukov さんが開発し OSS として公開した syzkaller (読み方:シスコーラー 1 ) というファジングツールについて解説します。2019 年 12 月時点では、内部実装まで踏み込んで調査した日語の記事は記事が初となるはずです。 なお、記事の中身は OSSセキュリティ技術の会 第七回勉強会 の前半の内容 2

    1870件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術 - Qiita
  • 「テストコードにはWhat,ソースコードにはHow,そして,ドキュメントにはWhyを書くんだよ!」 : ξ*゜ー゜)ξ { 遅レス。 - 日本Rubyカンファレンス 臨時打ち上げ

    もう声が出ませんでした。終新幹線をスルーしてもう一泊。 テストについて熱く テストコードにはWhat, ソースコードにはHow, そして,ドキュメントにはWhyを書くんだよ! by 角谷さん。角谷さんの LightningTalk が聞けるのは(ここ数ヶ月の間は)「- 夏イベント」だけ! 追記: 個人的には、この説明がテストコードから始まっているのもポイントだと思う。 アサマシ! APIドキュメントはテストコードにあるべきでは? by すとうさん 嫁に隠れてバカエロ 嫁のコンピューターの hosts で自サイトを適当な IP にしておく。 キーボードショートカットで別アプリで隠す準備をしつつ、対面でサーフしてるらしい ハルヒは流石に寝静まってから見てるらしい。 SeasarはJava界の救世主

    「テストコードにはWhat,ソースコードにはHow,そして,ドキュメントにはWhyを書くんだよ!」 : ξ*゜ー゜)ξ { 遅レス。 - 日本Rubyカンファレンス 臨時打ち上げ
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • 【CEDEC 2016 フォローアップ】ゲーム開発におけるデバッグ作業の自動化

    みなさん、こんにちは。Cygamesエンジニアの折田です。 いきなりで恐縮ですが・・・みなさんは、テストの自動化にどのように取り組んでいらっしゃいますか? テストの自動化 所属するプロジェクトによって、テストの自動化に対する運用方針も様々だと思います。 テストファーストで積極的に取り組んでいる方もいるでしょうし、開発ワークフローに組み込まれていて、仕方なく取り組んでいる方もいるでしょう。ちゃんとしたいのはやまやまだけど、そこまで手が回らないという方がほとんどかも知れません。「単体テスト」や「結合テスト」が自動化されているプロジェクトであっても、テストの最終工程にあたる「受け入れテスト」だけは自動化の対象から外されているケースは意外と多いのではないでしょうか? 膨大なコストを払ってまで「継続的インテーグレーション」や「継続的デリバリー」を実践しているのに、その最終工程の自動化は叶わず、人間の

    【CEDEC 2016 フォローアップ】ゲーム開発におけるデバッグ作業の自動化
  • ゲーム業界のテスト事情 - Qiita

    Aバグという名前から分かるように、ゲームプレイへの影響度合いで、バグ対処の優先度が決められて、それぞれ対処していきます。 体験したことがある方は分かると思いますが、ゲームが停止すると、ソフトウェアをリセットしてやり直す羽目になります。 そうなってしまうと、ユーザはせっかくゲームに割いた時間が水の泡になってしまい、開発者も楽しんでもらうために作った部分を遊んでもらえず、両者とも不幸な気持ちになってしまいます。 そんなわけで、停止バグはどのゲーム開発現場でも最優先に対処する代物だと思われます。 「一般的なテスト」はあまりしない 当然ながら、ゲームでバグが出たところで、医療や公共交通機関のシステムのように生命を脅かすことはありません。 また、近年の追加コンテンツに課金するビジネスモデルが出てくるまでは、ソフト買い切りビジネスが当たり前でしたので、バグによってユーザが直接お金の損失を受けることもあ

    ゲーム業界のテスト事情 - Qiita
  • 「FF6」の新たなバグを発売25年後に見つけたテスト技術者の腕前

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

    「FF6」の新たなバグを発売25年後に見つけたテスト技術者の腕前
  • 【Linux】stressコマンドを使わずに手軽にCPU負荷をかける方法 - APC 技術ブログ

    擬似障害などでCPU負荷をかける際に一般的なstressコマンドですが、標準パッケージではないため、インストールできない場合(勝手にインストールできない、インターネットに接続できない環境など)は以下の方法で手軽にCPU負荷がかけられます。(CPU使用率/ロードアベレージ) 手順 1.以下のコマンドを実行 CPU負荷コマンド yes > /dev/null 2.1プロセスでは足りないという方は、バックグラウンドに回して複数実行 CPU負荷×10 # yes > /dev/null & # yes > /dev/null & # yes > /dev/null & # yes > /dev/null & # yes > /dev/null & # yes > /dev/null & # yes > /dev/null & # yes > /dev/null & # yes > /dev/nul

    【Linux】stressコマンドを使わずに手軽にCPU負荷をかける方法 - APC 技術ブログ
  • 【Linux】stressコマンドを使わずに手軽にメモリ負荷をかける方法 - APC 技術ブログ

    ※前回はCPU負荷をかける方法でしたが、今回はメモリ負荷をかける方法のご紹介です 擬似障害などでメモリ負荷をかける際に一般的なstressコマンドですが、標準パッケージではないため、インストールできない場合(勝手にインストールできない、インターネットに接続できない環境など)は以下の方法で手軽にメモリ負荷がかけられます。(メモリ使用率/SWAP) 手順 1.以下のコマンドを実行 メモリ負荷コマンド /dev/null < $(yes) 2.1プロセスでは足りないという方は、バックグラウンドに回して複数実行 メモリ負荷×10 # /dev/null < $(yes) & # /dev/null < $(yes) & # /dev/null < $(yes) & # jobs [1] 実行中 /dev/null < $(yes) & [2]- 実行中 /dev/null < $(yes) & [

    【Linux】stressコマンドを使わずに手軽にメモリ負荷をかける方法 - APC 技術ブログ
  • Docker × Android エミュレータで、自動テスト(Appium)を並列化・爆速にする環境を作ったお話 | メルカリエンジニアリング

    Docker × Android エミュレータで、自動テスト(Appium)を並列化・爆速にする環境を作ったお話 これは Mercari Advent Calendar 2018 10日目の記事です。 こんにちは、メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA) の 根 征 です。 私は普段、テスト自動化・CI / CD 改善・その他社内の生産性を上げるための自動化を行っています。 今回は、Android・Appium の自動テストを 20~30台のエミュレータで並列実行できる 環境を作成したので、その試行錯誤についてお話したいと思います。 これまでの Android 自動テスト環境とその課題 Docker-Android クラウドでどう実行させたか 仮想マシンの入れ子(Nested Virtualization) を有効にする ベアメタルイン

    Docker × Android エミュレータで、自動テスト(Appium)を並列化・爆速にする環境を作ったお話 | メルカリエンジニアリング
  • 毎秒1万リクエストの負荷試験をした話 - pixiv inside

    はじめまして。ピクシブで広告関連のプロダクトを開発しているeastです。今回は、社内で運用している広告配信サーバーの負荷テストを実施したので、その話をしたいと思います。 経緯 ピクシブの広告配信サーバーは、pixiv体を中心に複数のサービスに対して広告配信を行なっています。現在私はこの広告配信サーバーの大規模改修を行なっているのですが、先日ついに広告配信サーバーの改修がほぼ完了したので、試しに負荷試験を行なってみたいと思い立ちました。 目標は毎秒1万リクエスト ピクシブの広告配信サーバーへのリクエスト数はDailyで 4〜6億req もあり、これは毎秒平均に直すと約 5,000RPS(Request Per Second) になります。さらに、ピークタイムである休日の深夜帯には 12,000RPS にも達します。つまり新しい広告配信サーバーにも、毎秒12,000のリクエストを捌く性能が必

    毎秒1万リクエストの負荷試験をした話 - pixiv inside
  • 開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)

    はじめに ここまで、さまざまなソフトウェアテストの考え方や種類を紹介してきました。開発者がソフトウェアテストを活用していくなかで、「どのように問題を分割してすすめて行けば良いのか」と「どのようなテストケースを選択するのか」という2つの課題は筆者に多く相談がきます。 今回は、この2つの課題に対して、どのような方法で自らのスキルを上げて行けば解決できるのかを解説します。具体的には、前者には「Mikadoメソッド」を、後者には「テスト技法」を活用します。 筆者がよく耳にするソフトウェアテストの課題 開発者がTDDやテスト設計に取り組む際、筆者はよく次のような課題を耳にします。 どのように問題を分割するのか問題に対してどのようなテストケースを選択するのか 「どのように問題を分割するのか」とは、TDDやテスト設計において「開発対象をどのような問題に分割してテストを作れば良いのかわからない」といった課

    開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)