タグ

テストに関するkikuchi1201のブックマーク (20)

  • E2Eテストの運用を属人化しないための3つの取り組み - ANDPAD Tech Blog

    はじめに こんにちは。QCの佐藤です。 月日が経つのは早いもので、QCメンバーも増え、多くのメンバーがブログを書いてくださっており嬉しい限りです😊*1 ANDPADで韻を踏む - ANDPAD Tech Blog アンドパッドラップの作り方 - ANDPAD Tech Blog QAがGoで始めるテストデータ作成の自動化 - ANDPAD Tech Blog ANDPADのQualityControlを紹介します!2023 - ANDPAD Tech Blog 私がブログを書いたのはもう2年前...(徐々に間隔が長くなっている...) 今回は私の担当しているプロジェクトでの、E2Eテスト管理・運用方法についてお話します。 以下のような課題ってE2Eテストあるあるですよね (´;ω;`) E2Eテストの運用が属人化してしまっている... むか~しに作ってからはただ回しているだけ... テス

    E2Eテストの運用を属人化しないための3つの取り組み - ANDPAD Tech Blog
  • 良いテストケースの作成手法を学ぶ - 「はじめて学ぶソフトウェアのテスト技法」を読んだ - $shibayu36->blog;

    ソフトウェアテストに関する知識をもう少し言語化したいなと思い、「はじめて学ぶソフトウェアのテスト技法」を読んだ。 はじめて学ぶソフトウェアのテスト技法 作者:リー コープランド日経BPAmazon このでは主に良いテストケースの作成手法について学べた。良いテストケースとは「最小の時間と労力でほとんどのエラーを検出する可能性がもっとも高くなるようなテストケース」のこと。これにできる限り近づけられるようにテストケースを工夫する。 良いテストケースを作るためにどういう技法があるかをこのはいくつも教えてくれる。自分がこれまでテストを書いていると「こういうテストの方がなんとなくベターだよな...?」みたいに感覚的に考えていたところを、言葉として定義してくれることで構造化できるのはありがたかった。たとえば 同値クラステスト 同じグループのテストが、以下を満たせば同値クラスを形成する 同じ機能をテス

    良いテストケースの作成手法を学ぶ - 「はじめて学ぶソフトウェアのテスト技法」を読んだ - $shibayu36->blog;
  • テストコードの改革を進めている話 | メルカリエンジニアリング

    はじめに この記事は、Merpay Tech Openness Month 2023 15日目の記事です。 こんにちは。メルペイ加盟店精算チームのバックエンドエンジニア@r_yamaokaです。 今日は現在自分がリードして取り組んでいるテストコードの改善について紹介したいと思います。 抱えている課題 私が所属している加盟店精算チームのマイクロサービスは加盟店さま向けサービスとして欠かせないものであり、メルペイ最初期から存在するサービスです。他のマイクロサービスにあまり無い特徴として多数のバッチ処理を行っている点が挙げられます。 お客さま(メルペイユーザー)がお店で行った決済は、一定の頻度で集計し決済手数料を差し引いた上で加盟店さまの銀行口座へ振り込むことになります。 最終的な振込金額を算出するまでの流れとしては 個々の決済金額のリコンサイル(会計マイクロサービスとの金額照合) 日次集計 締

    テストコードの改革を進めている話 | メルカリエンジニアリング
  • GoによるSQLクエリテストの取り組み | メルカリエンジニアリング

    この記事は、Merpay Tech Openness Month 2023 の1日目の記事です。 背景 メルペイのバックエンドエンジニアのa-r-g-vとsminamotです。私達はメルペイ加盟店の管理システムを開発しているチームに所属しています。私達のチームには、複雑な条件を持つBigQueryのSQLクエリがいくつか存在しています。例えば、加盟店管理に関する費用計算などの計算クエリのように、外部環境の変化によって要件が定期的に変更され、マイクロサービス化などのシステム化が難しいクエリがあります。このようなクエリは複雑であるだけでなく、テスタビリティにも問題がありました。そのため、開発者がテストを実施することが困難になっており、クエリの変更を安心して行うことができない状態にありました。 クエリの複雑性 抽出条件の複雑さと複数のマイクロサービスへの依存により、クエリが複雑になっていました。

    GoによるSQLクエリテストの取り組み | メルカリエンジニアリング
  • PHPerKaigi 2023 登壇レポート -Vol.02 / 開発者向けブログ・イベント | GMO Developers

    PHPerKaigi 2023 登壇レポート -Vol.02 登壇:GMOペパボ「Win Testing Trophy Easily / テスティングトロフィーを獲得する 」 2023年3月23日(木)〜25日(土)に技術カンファレンス「PHPerKaigi 2023」が練馬区立区民・産業プラザ Coconeriホールおよびオンラインにて開催されました。 GMOインターネットグループはダイヤモンドスポンサーとして協賛し、 登壇セッションでは、GMOペパボ株式会社より小山 健一郎が登壇しました。その内容をご紹介します。 はじめに テスト戦略を策定する際の指針となるコンセプトの1つに「テストピラミッド」があります。テストピラミッドでは、ユニットテスト、インテグレーションテスト、E2Eテストの3つのレベルに分けて、この順でテストの量を小さくしていくピラミッド型にすることが推奨されます。一方で、R

  • 雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try

    (この話は最初Twitterに書こうと思ったけど、長くなるのでブログに書くことにしました) 僕はRSpecやMinitestでテストを書くのは得意ですが、常にテストファースト(TDD)で開発するとは限りません。 今業務でやってるタスクはこんなふうに進めてます。 雑に動くものを作る ↓ 見た目をきれいにする&機能を作り込む ↓ テストを書く ↓ リファクタリングする この順番で開発する理由を以下に述べます。 雑に動くものを最初に作る理由 最初は見た目とか、異常系とか、細かい仕様とかを無視して、正常系が一通り動くものを作ります。 これはこれから作ろうとしているものの認識が合っているかどうかをPO(プロダクトオーナー)に確認するためです。 実際に動く画面を見せると「こんな感じでOK」とか「ここはこういうふうにしたい」というフィードバックをもらうことができます。 また、開発者としてもコードを書きな

    雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try
  • フロントエンドにおける「単体テストの考え方/使い方」

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

    フロントエンドにおける「単体テストの考え方/使い方」
  • 「2022年は生産性も品質も低下した」 『ソフトウェア開発分析データ集2022』から見る結果

    ソフトウェアの開発者・テスト技術者・品質管理/品質保証の担当者の方へJSTQBからの情報を届ける「JSTQB カンファレンス in 2022 Autumn」。ここで五味氏が「DXに求められるソフトウェア品質とその計測」をテーマに登壇。続いて、『ソフトウェア開発分析データ集2022』の内容について話します。前回はこちらから。 定量データの傾向性 五味弘氏:ということで最初の一歩です。前振りがやっと終わりました。 (スライドを示して)私たちは『ソフトウェア開発分析データ集2022』というものを、9月26日に公開しています。昔の名前は「ソフトウェア開発データ白書」で、知っている人が99パーセントいてくれればうれしいなと思うのですが、その後継が「分析データ集」で、2022年版を9月26日に公開したばかりです。今日はこれを紹介したいと思います。 最初に結論です。2年に1回(「分析データ集」を)出して

    「2022年は生産性も品質も低下した」 『ソフトウェア開発分析データ集2022』から見る結果
  • 遠心力でロケットを飛ばす宇宙ベンチャー現る 音速の数倍で回転 エンジンなしで高さ数万フィートに到達

    遠心力を使って軌道上にロケットを飛ばそうとしている宇宙ベンチャーが存在する。米SpinLaunchは米ニューメキシコ州に設置した飛行試験施設で打ち上げテストを実施。ロケットの射出に成功した。 遠心力を使って軌道上にロケットを飛ばそうとしている大胆な宇宙ベンチャーが存在する。米SpinLaunchは10月22日、米ニューメキシコ州の商業宇宙港「Spaceport America」に設置した飛行試験施設で打ち上げテストを実施。ロケットの射出に成功した。

    遠心力でロケットを飛ばす宇宙ベンチャー現る 音速の数倍で回転 エンジンなしで高さ数万フィートに到達
    kikuchi1201
    kikuchi1201 2021/11/12
    すごい..!!!
  • 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
  • 許可より謝罪 : けんすう日記

    うちの会社の場合 僕は、nanapiという会社をやっているんですが、そこには、行動指針とかあまりありません。つくろうつくろうとはしているんですが、未だにちゃんと決めれず・・・。 という中ではありますが、よく社内でいうのが「許可より謝罪」という言葉です。 これは、簡単に言うと「許可とか求めるより、謝罪したほうが楽だから、相当クリティカルじゃない限り、許可とりにこなくていいよ」という感じです。 たとえば、nanapiのリニューアルや改変の内容などは、僕の許可はありません。リリースされて知ることもあります(ただし、議論の進行などは見てはいますが)。 もちろん、オリジナルではなくて元ネタがあります。3Mです。 以下のブログに詳しくあるのですが 下記に3Mの社史みたいなのがある。 PDFへのリンク それをみると"It is easier to ask forgiveness than permiss

    許可より謝罪 : けんすう日記
  • やはり俺の「質 v.s. スピード」はまちがっている。 #eof2019 - 名前考えるの苦手

    2019/10/31(金)に開催されたEngineering Organization Festival 2019 で @t_wada さんの「質とスピード」という講演を聞き、とても感銘を受けたのでメモ。 品質とスピードはトレード・オフの関係にある。どちらを優先するか?要バランスだ。 そう思っていた時期が私にもありました。 けど、そんなことはなかった! ■追記 個人的な捉え方としては、 プロダクトを漸進的に成長させ、仮説検証ループするスピード上げようとすると、犠牲にした保守性があとで(意外とはやく1ヶ月後には)足枷になる。 保守性(テスト容易性、理解容易性、変更容易性)が低いとリードタイムが延びてスピードがどんどん落ちていくループをまわせなくなる。ってことかな、と思う。 スピードを上げようとしたのに、意外とはやくスピードが上がらなくなるジレンマ。 @t_wadaさんのスライド 素敵なグラレ

    やはり俺の「質 v.s. スピード」はまちがっている。 #eof2019 - 名前考えるの苦手
  • RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々

    RDBのレコードに、作成日時や更新日時を自動で入れ込むコードを書いたりすることあると思いますが、それに対する個人的な設計指針です。ここでは、作成日時カラム名をcreated_at、更新日時をupdated_atとして説明します。 tl;dr レコード作成日時や更新日時をRDBのトリガーで埋めるのは便利なのでやると良い ただ、アプリケーションからそれらのカラムを参照することはせず別に定義した方が良い MySQLにおける時刻自動挿入 MySQL5.6.5以降であれば、以下のようにトリガーを設定すれば、レコード挿入時に作成日時と更新日時を、更新時に更新日時を、DATETIME型にも自動で埋めてくれます。いい時代になりました。(MySQLが遅すぎたという話もある) `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_

    RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々
  • 20年後のソフトウェアテストの話をしよう / Software Testing for 20 years later

    2019/08/31(土)に東京電機大学で開催されたbuilderscon tokyo 2019のセッション「20年後のソフトウェアテストの話をしよう」の発表資料 blog: http://yumulog.hatenablog.com/entry/2019/08/31/235727 Togetter: https://togetter.com/li/1397692 概要ページ: https://builderscon.io/builderscon/tokyo/2019/session/783619e0-4c45-45cb-b29a-fbff39077f43

    20年後のソフトウェアテストの話をしよう / Software Testing for 20 years later
  • 何故あなたのチームのwebプログラマは不具合を起こすのか - フロイドの狂気日記

    なんでテストフェーズに入ると不具合を起こしまくるのか。ここでスムーズに行けば納期に間に合うのにどうして大量の修正に時間をとられるのか。そんな風に思うプロジェクトマネージャーは多いはずだ。僕はPMでないが今すごく思っている。なんせ自分の作った機能ではないところの不具合をまんべんなく割り振られているからだ。そのおかげで対応不具合数のカウントだけ積み上がり、僕がバグを出しまくっているみたいに見える。僕が出したバグに対応するのはいいが、他人の不具合まで回されたんじゃ困る。 思うにプログラマというのは川で言うところの最下流に位置するので、川上から工場排水やゴミが流れてくると、一番汚染されるのが下流域である。そのためプログラマが不具合を出しまくるのは、プロジェクトの失敗の全てがそこにつまっている証拠だ。10年もエンジニアをして、少なくとも日IT環境で決定的にできていないものが見えてきた。 おおむね

    何故あなたのチームのwebプログラマは不具合を起こすのか - フロイドの狂気日記
  • home | 入門よりちょっと先の Laravel チュートリアル

    kikuchi1201
    kikuchi1201 2017/07/26
    脱入門したい。テストの書き方とアーキテクチャの図が丁寧でめちゃくちゃ参考になります。
  • 教育困難校勤務の国語科教員から(2/9追記)

    以下の文章は、次年度いっぱい、つまり2018年3月で辞めようとしている方に向けて書いたものです。心身ともに変調を来して、すぐにでも辞めたいと言っている方を引き留めたものではありません。 ----------------------------- http://anond.hatelabo.jp/20170207224412 わかる。わかる。私も罵詈雑言を浴びせられていた。画鋲を投げられた。割れたガラスも撒かれた。 でもまだ教員を続けている。 それは少しずつうまくやるコツを身につけてきたから。 年を重ねるだけで楽になることがたくさんあるから大丈夫。これから毎年楽になる。 以下にコツのようなものをあげていく。 □学習に関すること ・「なぜ学ぶのか」説得力のある説明を頻繁にする これは教員の年齢やキャラクターによって説得力が違うので、自分に合った言葉を真摯に探そう。響く子がいないと適切な言葉選び

    教育困難校勤務の国語科教員から(2/9追記)
  • 一から始めるJavaScriptユニットテスト - Hatena Developer Blog

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

    一から始めるJavaScriptユニットテスト - Hatena Developer Blog
  • Golangにおけるinterfaceをつかったテスト技法 | SOTA

    最近何度か聞かれたので自分がGolangでCLIツールやAPIサーバーを書くときに実践してるinterfaceを使ったテスト技法について簡単に書いておく.まずはinterfaceを使ったテストの基について説明し次に自分が実践している簡単なテクニックをいくつか紹介する. なおGolangのテストの基については @suzuken さんによる「みんなのGo言語」 の6章が最高なので今すぐ買ってくれ! 前提 自分はテストフレームワークや外部ツールは全く使わない.標準のtestingパッケージのみを使う.https://golang.org/doc/faq#Packages_Testing にも書かれているようにテストのためのフレームワークを使うことは新たなMini language(DSL)を導入することと変わらない.最初にそれを書く人は楽になるかもしれないが新しくプロジェクトに参入してきたひ

  • ディープラーニングで簡単に自動テストスクリプトが作れる「Magic Pod」 | 品質向上ブログ

    今日は、今話題のAI(人工知能)技術「ディープラーニング」を使い、誰でも簡単にモバイルアプリの画面自動テストスクリプトが作成できるWebサービスのお話です。 ※2017年7月24日よりオープンβ版を提供開始しました! AppiumやSeleniumのような画面を自動操作するテストツールはとても便利ですが、一方で、こうしたツールを利用していないプロジェクトもたくさんあります。何がツールの導入を妨げているのでしょう? 筆者は、次の2つがとりわけ大きな問題だと考えています。 システムの内部情報をある程度理解しないと、テストスクリプトを書くこと・読むこと・編集することが難しく、それなりのスキルが必要。 テストスクリプトの作成に時間がかかりすぎる。特に、読みやすく変更に強いスクリプトを作成しようとすると、かなりの手間がかかる。 これらの問題を、ディープラーニングによる画像認識を使って解決しようとして

    ディープラーニングで簡単に自動テストスクリプトが作れる「Magic Pod」 | 品質向上ブログ
  • 1