タグ

テストに関するyosfのブックマーク (30)

  • テストコードを書く上で個人的に気をつけている5つのこと - Qiita

    はじめに エンジニアの皆様、テストコードはちゃんと書けておりますでしょうか?(挨拶) どんな開発言語や開発手法を導入していたとしても、アプリケーションの機能実装とテストは表裏一体であると言えます。場合によっては機能の作り込みよりも時間をかけるべきケースが多いくらい重要である(・・・と信じたい)反面、デッドラインが近づくにつれて真っ先に工数が削られやすく軽視されがちな工程でもあります。 時間に追われてテストコードを書いた結果、テストの体をなしていないコードになっていたり後で見返したときに記述が煩雑すぎてメンテ不能になっていたり・・・といった苦い経験は誰しもがあるかと思います。かくいう自分もそんなことは多々ありました。 そんな今までの経験則を基に「自分がテストコードを書くにあたってどんなことを意識しているのか?」をいくつかピックアップして備忘録も兼ねて紹介したいと思います。 一応注意なのですが

    テストコードを書く上で個人的に気をつけている5つのこと - Qiita
  • ユニットテストってもう言わない! CI/CD時代のテスト分類に最適なテストサイズという考え方

    はじめに 以前からユニットテスト/単体テストという言葉は使いづらい、と感じており今回も旧Twitterで「テストを実行時間ベースで分類する良い言葉ないかなー」と呟いていたところ、「テストサイズのSMLって考え方があるよ」と教えて戴きました。 だいたいは教えてもらったt_wadaさんの記事にすべて書いてあるのですが、自分の整理も含めて動画にしたので、その補完記事となります。 TL;DR 単体テストのバベルの塔は既に崩壊 CI/CDでの継続的テストには時間ベースのテスト分類が重要 UT/IT/E2EではなくSMLによるテストサイズがCI/CDには合う それは単体テストか結合テストなのか? 自動テスト、手動テストに関わらずテストの分類として単体テストと結合テストという言葉は一般的です。 ITQBではTest Levelsという言葉で定義されていますし、以下のようなV字モデルの対応表はみんな知って

    ユニットテストってもう言わない! CI/CD時代のテスト分類に最適なテストサイズという考え方
  • ユニットテストで避けるべき罠: 最適な品質保証のために落とし穴を避ける - Qiita

    はじめに 新卒として、実務に入って3ヶ月目のお話。なぜかテストコードの正式な導入の動きにより、先輩から、「テストコードの規約かいて〜〜〜」と超ラフに言われ、「ん?」となりつつ、作りました。そんな中で、テストコードの作成やお試し実装などをしている時に、みんなこれハマるよな...というものをざっと上げてみます。 ユニットテストにおけるテスト自動化は、システムのテストにおいて最も難易度が高いと言われているそうです。その要因の1つとして、やはり注意すべき点や陥りやすい罠が多いことが挙げられます。この記事では、テストコードの一般的な罠に焦点を当ててみました。 対象の読者 今後、会社にユニットテストを導入しようと考えている人 品質管理をしているエンジニア テストコードに興味があるエンジニア 1. Over-Testing と Under-Testing テストをする上で、テストシナリオとして必要なもの

    ユニットテストで避けるべき罠: 最適な品質保証のために落とし穴を避ける - Qiita
  • JUnitで学ぶ実践的で本質的なユニットテストの考え方 - Qiita

    初めに 具体的なコードや方法も記述しますが、それよりも JUnit などの自動テストのFW、ユニットテストの概念や目的など質的なことを把握し理解する事を主題にしてます。 また、参考資料欄にあるように、様々なものを参考に網羅的にまとめています。非常にボリュームがるので興味あるところだけ読んでもらう方が良いかもしれません。 こちらでは、ある程度開発経験(1〜2年程度)があり、自動テストについて少しでも触れた事があるくらいの方が対象になる記事です。自分がそうだからです。ただし、コンパイルエラーにならないだけの書き方では意味がないのでそういった構文やお作法に関する話はあまりしません。なぜそのようなお作法になったのか?そうである理由は何なのか?トレードオフは?といった、質的な部分にフォーカスを当てていきたいと思います。 1. 概要 JUnitJava 言語向けのユニットテストフレームワーク

    JUnitで学ぶ実践的で本質的なユニットテストの考え方 - Qiita
  • フロントエンドのテスト構成について考えてみた in 2023

    はじめに この記事では、 フロントエンドの開発において意義のあるテストはなにか? それらをコスパよく実現するためにはどうすればよいか? について考えて、作った構成を紹介します。 前提 下記の技術スタックを利用していますが、これ以外のスタックでも応用可能な仕組みが多いと思います。 Next.js Storybook playwright msw msw-snapshot (拙作) 注意事項 この記事の構成は、まだまだ実験的な機能だったり怪しい技術が一部採用されています。 msw-snapshot 拙作のライブラリであって、動作が怪しい可能性がめっちゃあります。 Next.js の testmode playwright + msw を実現するために必要でした。 まだまだ全然まともに動かないかもしれません。(サンプルリポジトリの単純なテストは動いた) サンプル 下記のリポジトリにサンプルを用意

    フロントエンドのテスト構成について考えてみた in 2023
  • フロントエンド開発のためのテスト入門 - サンプルの紹介 -

    昨年から執筆を続けていた書籍が 4/24 に刊行します。「フロントエンド開発のためのテスト入門」というです。 書籍ならではのテストコード解説を目指して 次の投票結果は、書籍企画時に持ち込んだ筆者のツイートです。フロントエンドテストに関していえば、8 割近くの方が何かしら不安や不足を感じている、という結果になりました。 不安や不足の原因は様々なものがあるかと思います。そのうち、筆者が着目したのは「テスト手法の豊富さ」です。「単体テスト・結合テスト・E2E テスト、何をどれほど書けばよいのか?」という疑問は、フロントエンドに限らず、はじめて自動テストに取り組まれる方が通る関門ではないでしょうか。 自動テストを書くには「テスト対象」を明確にしたうえで、テスト対象に適したテストコードを書く必要があります。書は、現場で書かれるものに近い「テスト対象 = アプリケーションコード」をサンプルとして用

    フロントエンド開発のためのテスト入門 - サンプルの紹介 -
  • なぜテストコードを書くのだろう? - Uzabase for Engineers

    こんにちは、NewsPicksの北見です。 ところで皆様、テストコードって書いてますか...? ネットでテストコードについて検索すると 「テストコードを書きましょう」 「テストコードとはこうあるべし」 「TDD(Test Driven Development)だ」 等々が叫ばれています。 ただ、なんとなく「方法論ありきでとにかくテストを書け」と言われているようで、テストの必要性について納得感に欠けている方もいらっしゃるのではないでしょうか? なぜ テストコードを書くのでしょうか? テストコードを書く理由 将来リファクタリングをしやすくする テストコード書く途中で、開発者自身が仕様を理解し、成長できる 最後に テストコードを書く理由 諸説ありますが、私が思うテストコードを書く理由は 将来リファクタリングをしやすくする テストコード書く途中で、開発者自身が仕様を理解し、成長できる の2つです。

    なぜテストコードを書くのだろう? - Uzabase for Engineers
  • フロントエンドにおける「単体テストの考え方/使い方」

    稿における「単体テスト」とは自動テストにおける単体テストを指します。手動テストのことではないので、ご了承ください。 単体テストの考え方/使い方というを読みました。筆者自身、「単体テストはプロダクションコードの付属」という意識がどこかにありました。このを読んで、単体テストについてあまりに何もわかってなかったことに気付かされ、単体テストの設計はプロダクションコードの設計と同じくらい重要という意識に変わりました。何のために単体テストをやるのか、いいテストとは、「単体」とは、など多くの点で学びを得られ、また、多くのプラクティスとアンチパターンを知ることができました。 稿はこのを読んで得られた学びを、フロントエンド開発、特にコンポーネント開発に適用することを試みた際のまとめです。より詳細な解説を求む方にはを手に取ってもらう前提で、できるだけポイントを抑えられるようにまとめることを目指しま

    フロントエンドにおける「単体テストの考え方/使い方」
  • 【考察】テストコードのきれいな書き方 - Qiita

    作ったものが想定した動作をしているか。 それを確認するために、テスト(試験)を行います。 検証したいことがちゃんと実現できて確認が取れているのであれば、その品質自体は割と気にされないことが多い印象です。 保守・運用・追加開発 をしていくプロジェクトが多くあると思います。 その作業の中で、改善を取り入れていくこともあると思いますが、その中でも一番後回しにされるのが、テストコードの改善のように思います。 推測ですが、「コストによるメリット・リターンが少なすぎる」ことが理由かな…と(開発者目線ではリターンが大きいのですが、運用者目線ですとリターンが少なく見えてしまう)。 であれば、最初からある程度綺麗なものがどういうものかを考え、作成しておけば良いのではないか・・! ということで、考察していきたいと思います。 前提 考察をするにあたり、言語化した時の表現や意味のズレが発生しやすい部分もあると思い

    【考察】テストコードのきれいな書き方 - Qiita
  • ノーコードのテスト自動化プラットフォーム「Autify」が11億円の資金調達

    ノーコードで利用できるソフトウェアテスト自動化プラットフォーム「Autify」を提供するオーティファイは10月6日、シリーズAラウンドで約11億円の資金を調達したと発表した。累計調達額は約13億円になるという。 今回の資金調達では、既存投資家であるArchetype Ventures、米国セールスフォース・ドットコムの投資部門であるSalesforce Ventures、元Googleの及川卓也氏が代表を務めるTablyに加え、日米に拠点を有する日最大級VCのWiL、ソフトウェアやデータインフラ領域で優れた投資実績を有するUncorrelated Ventures、連続起業家で元著名VCのAccel出身のJonathan Siegel氏が引受先となっている。金融機関からの融資も実施した。 同社は、開発したソフトウェアが期待通りに動くかどうかの検証作業を、ブラウザで自動で行えるウェブアプリ

    ノーコードのテスト自動化プラットフォーム「Autify」が11億円の資金調達
  • Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog

    こんにちは、鈴木です。 「テストが無い」状態を脱却しました。 「いつの時代かよ!」と突っ込まれるかもしれませんが、モノタロウは創業から 20 年ほど EC をやっています。昨日書いたコードも、15 年前に書いたコードも、元気にビジネスを支えています。 記事ではモノタロウの EC を支える API の話をします。「テストが無い」状態がスタートラインでした。そこから、CI を導入して、ローカル開発環境の整備して、テストコードを書いて、リリースマネジメントを導入しました。 目新しいことは書きません。長寿の大規模システムであっても、愚直に数年取り組むことで、「前進できる!」「変えられる!」という実例を書きます。 ※記事の初出は、 Software Design2021年9月号「Pythonモダン化計画(第2回)」になります。第1回の記事は「Software Design連載 2021年8月号

    Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog
  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

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

    自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
  • テスト駆動開発:実はそれは設計技術です

    テスト駆動開発(TDD)は、より優れたソフトウェアを持続的に早く提供するための確立された手法です。TDDは単純な考えに基づいている。製品コードを書く前に失敗するテストを書くことです。新しい行動が必要ですか?失敗するテストを書いてください。しかし、この一見単純な考えをうまく実行するには、スキルと判断が必要です。 TDDは当に設計のためのテクニックです。TDDの基礎は、小規模なテストを使用してボトムアップを早急に設計することであり、システムへの信頼を構築しながら迅速に何らかの価値を得ることです。よりよい名前はテスト駆動設計かもしれません。 設計方法としては、集中と単純さです。目標は、開発者が価値を提供する上で不要な余分なコードを書くことを防ぐことです。問題を解決するのに必要最小限のコードを書くことです。 多くの記事がTDDを行うことのすべての利点を誇りにしています。そして多くの技術会議の講演

    テスト駆動開発:実はそれは設計技術です
  • QAがテスト設計プロセスの見える化に取り組んだ話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。東京品質保証部 QAの矢引です。 今回は、今年の上半期に行った、試験設計プロセスの見える化の活動について紹介します。 製品チーム横断でQAのカイゼンを支援するチーム「SPITz」 サイボウズでは、製品ごとに開発チームが分かれており、QAメンバーがそれぞれの開発チームで活動し、担当製品のテストプロジェクト全般を担当しています。 QAの仕事内容についてはこちらの記事でもご紹介していますのでぜひご覧ください。 blog.cybozu.io また、上記の活動とは別に、品質保証部内のQA全般のカイゼンを支援するチーム「SPITz」( Software Process Improvement in Test の略)があり、有志のメンバーが活動しています。 これまで、探索的テストの情報収集やTPI NEXTの情報収集・試験的導入などを行いました。 背景 サイボウズではリリースに関する品質の基

    QAがテスト設計プロセスの見える化に取り組んだ話 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • いまだはびこるExcelスクショ

    IT業界には「Excelスクショ」なる言葉がある。情報システムのGUIテストにおいて、顧客からテスト実施の証拠となる「エビデンス」の提出を求められる。これに応えるため、テスト実施時にスクリーンショットを取得して、画像をExcelシートに貼り付けていく。これがExcelスクショだ。IT現場で問題視されがちな非効率な作業の代名詞だが、ここ1~2年で改善の兆しが見えてきた。 エンジニアリング手法やツールの進化によって、テスト作業は以前よりも効率化できる余地がある。しかし、Excelスクショがはびこる現場では、なかなか効率化ができない。単純作業の要素が強いため、テスト実施者のモチベーションも下がる。 単純で工夫のいらないテストエビデンスの作成方法であるため、少なからぬ現場がExcelスクショを脱せられていない。Webアプリケーションを例にすると、次のような作業となる。 まず、テスト用のPCでWeb

    いまだはびこるExcelスクショ
  • テストエンジニアの面接の際にするとよい20の質問

    みなさんこんにちは。@ryuzeeです。 DZoneという海外のサイトで “The 20 Best Software Tester Interview Questions” (テストエンジニアの採用面接の際にすると良い20個の質問)がまとまっていたので紹介します。 ここにあがっている質問を必ずすべきかという話ではありませんし、完全な網羅性があるわけでもありません(カバレッジの話やブラックボックス・ホワイトボックスの話のような基礎的な質問も入っていないです)。 一方で、ある程度の規模になった組織においては、採用面接の質を向上させるために自分たちの組織で共通の質問集のようなものを用意しておくのはベストプラクティスの1つと言えます。 もちろん一度作ったらそれで終わりではなく、新しい質問を追加したり、いろいろな候補者から期待と違う回答があった場合には質問自体を見直すといったことも必要になってきます

    テストエンジニアの面接の際にするとよい20の質問
  • フロントエンドにテストを導入 - Qiita

    2016-8-8 ※webpack単体の記事を書きました。よろしければこちらもどうぞ step by stepで始めるwebpack 2016-5-16 ※karma単体の記事を書きました。よろしければこちらもどうぞ step by stepで始めるKarma 記事は画面のJavaScriptのテストとかまったくやったことない方 Mocha?webpackkarma?それぞれの解説記事はよく見るけど全体像がよくわからんという方向けです。(数日前の自分です) 全体を通して導入の流れを解説した記事があると全体像が理解しやすいのではと思い書いてみました。 前提 Nodejs,npm,chromeが導入済みであること 流れ Step 表題 目的

    フロントエンドにテストを導入 - Qiita
  • たった1人から始める社内テストコード文化

    # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals # テストする関数 def add(a, b): return a + b # テストコード 関数名はtest_ から始めるのがpytestでのお作法 def test_add(): assert add(1, 1) == 2 assert add(1, 2) != 2 >>> $ py.test ../tests/test_add.py =============================================================================== test session starts ================================================

    たった1人から始める社内テストコード文化
  • システムテスト自動化の動向と勘所

    システムテスト自動化の動向と勘所 1. 1 システムテスト自動化の動向と勘所 2016/01/15 株式会社 SHIFT 太田健一郎 2. 2  SHIFTのテスト自動化サービス  自動化の選定方法とROI  環境構築とビルドの自動化 AGENDA 3. 3 SHIFTのテスト自動化サービス 3 4. 4  自動化のメリット・難しさ  SHIFTの自動化サービス  自動化カウンセリング・可否判断  自動化基盤構築  テストスクリプト作成  導入実績紹介 SHIFTのテスト自動化サービス 5. 5 人の作業だけに頼る開発プロセスの課題 自動化のメリット・難しさ 検証スタート時に問題が噴出 担当者がいないとリリース作業ができない 回帰テストに膨大な工数がかかる リリースに使ったモジュールのバージョンが わからない  開発者のPCでは動作するのに 検証環境では動作しない 

    システムテスト自動化の動向と勘所
  • テスト(コード)レビューの方針 書きなぐり版 - うさぎ組

    牛尾さんのブログをはてブったら、「じゃぁ、その手を見せろやゴルァ」と言われたので書きました。雑です。すみません。 元記事 「自動化対象のユニットテスト(単体テスト)の仕様書を書くことは完全なる無駄である」 Blogs - Live DevOps in Japan! - Site Home - TechNet Blogs 僕のコメント 「だいたい同じ意見だけど、これで単体テスト仕様書がいらない理由にはならないかなぁと思った。テストレビューの成長方法について書かれていないしなぁ。出来る人いない現場は諦めろってことかな?」 はてなブックマーク - kyon_mm のブックマーク - 2016年1月25日 牛尾さんのコメント「どっかに書いてありますか?もしあったら記事にはります。」 僕のコメント「書いていません!」 僕のコメント「書きました!」 僕の主張 記事は僕の実験結果(経過報告)であり、

    テスト(コード)レビューの方針 書きなぐり版 - うさぎ組