サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
speakerdeck.com/hgsgtk
ウェブアプリケーションの開発においてE2Eテストの自動化は身近なトピックです。SeleniumやPuppetter、PlaywrightやAppiumなどがブラウザ・ネイティブアプリの自動操作のOSSとしてよく挙げられます。しかし、それらの裏側はご存知でしょうか? 本トークではこれらのツールの背後にいるWebDriver、Chrome DevTools Protocolsに焦点を当てます。 WebDriver、CDPとはなにか、その違い、仕様について、PHPエンジニアに身近な言語を用いて"直接"実装することを通じて解説します。 本トークを通じて直接触れることでライブラリでwrapされている裏側まで知ることできます。E2Eテスト自動化の課題に出会ったときに「裏側がこうだからたぶんこういうことだよね」と想像できるようになる、少し世界の見え方が変わる時間を提供します。
「CIのためのテスト自動化」というテーマで第17回QUESに招待いただいた際の資料です。 - Agileチームにおけるテスト自動化の試行錯誤から得られたしくじり - Agile Testingの概要とその一つの取組みとしてのATDDの実践をテスト自動化目線で - システムレベルの自動E2Eテストの作成・維持に焦点を当てる
Web application developers often use Selenium to automate UI-level browser operations. WebDriver client, which is the foundation for browser automation, can be self-made by Go standard packages such as net/http. In this talk, I'll briefly touch on the details of WebDriver of W3C recommendation, and then explain how to implement WebDriver client by Go.
PHPUnit もバージョン 9 になりました。長年第一線で活躍し私達PHPerにテスト可能な開発環境を提供し続けてくれているPHPUnitは、その分歴史が長く、バージョンごとに これまでの使い方は deprecated になっていきます。 PHPUnit 9 では、さまざまな機能削除や非推奨勧告がありますが、その一つが表題にある MockBuilder::setMethods の deprecated です。 そこで改めてこの変更を機に、次の点を抑えていきます。 - PHPUnitのTestDoubleの語彙整理の根拠 xUTP本とその該当箇所、createStub / createMockの違い - setMethodsからaddMethods/onlyMethodsになった使い方 - deprecatedになった理由をissueの内容から抑えて背景思想を理解する - PHPUnit
PHPerが日々奮闘するソフトウェア開発の現場では、ユニットテストを書くことは推奨され普及してきました。 一方、E2Eといった高レベルのテストになると整備したいという気持ちはありつつ、初期構築コスト自体の高さや、構築したもののテスト維持に失敗する話をよく聞きます。 その要因の一つとして、本トークではテスト環境とテストデータに着目します。 テスト環境とテストデータの扱いは、既存システム都合との折衷案を取る必要があったりする理想と現実の間での戦いになる事が多いでしょう。 現場での戦いの武器となるような事例とそれぞれの実践手段のメリット・デメリットをまとめてお伝えします。
ソフトウェア開発において、不確実性にどのように立ち向かっていくかは大きな課題です。 PHPerとしては、開発中にいかにコード品質を上げるかといったことは大きな関心で、その一つの規律のとり方としてTDDを実践されてきた方は多いのではないでしょうか。 トークの表題であるATDDは、Acceptance Test Driven Developmentの略です。TDD Cycleよりももう一つ大きなスコープでのフィードバックループをテストによって駆動します。特にアジャイル開発の文脈で「Agile Testing」という一つのテーマ内で紹介されることが多い手法です。 ユニットテスト・コンポーネントテストをカバーするテストによって開発を駆動するTDDに対して、ATDDはよりビジネスフォーカスの強いテストによって開発を駆動します。ATDDの開発プロセスの実践によって、技術レイヤ横断的な製品全体の回帰テス
TDDは開発者にとって一般的な手法となってきました。そこからさらにAgile開発のようなイテレーション駆動開発となると、イテレーションごとの品質についてワークさせる手法が求められます。 そのひとつにあげられるのがAcceptance Test Driven Development、ATDDです。TDD Cycleよりももう一つ大きなスコープでのフィードバックループをテストによって駆動します。 本トークではTDD自体についても話しますが、そこからさらにアジャイルテストの4象限におけるcheckingに加えtestingについてスコープに入れた大きな単位のフィードバックループの回し方について実例を持って解説いたします。
July Tech Festa #JTF2020 で発表した少人数でのアジャイル開発への取り組み実例についての資料です。 Google slide: https://docs.google.com/presentation/d/1qyufmgne7SCFA4wBs6Zz_6kAEy8btSp79ERR76nFJhY/edit?usp=sharing
xUnit Test Patternsから学ぶテストアンチパターン / testing anti-pattern learned in xUnit test pattern
デザインパターンの使い方を パタン・ランゲージとの比較から考える / design-pattern-usage-inspired-by-pattern-language
知見のない技術スタックをプロダクション導入するエンジニアの導入戦略 / A strategy to choice no knowledge technology
ブラウザ自動操作技術の深層へ、直接触れて学ぶ WebDriver と Chrome DevTools Protocol
PHPカンファレンス沖縄 2019で話したレガシーコード改善手法の一つについてです
PHPカンファレンス沖縄 2019 前夜祭 で発表したデザインパターンの出自から特性を理解しようという内容です
PyCon JP 2019で発表するAPIサーバー開発で始めるCI・テスト機構の話です
Go Conference’19 Summer in Fukuoka で費用対効果の良いテストを目指すための目的・基礎・実践について話したものです
PHPカンファレンス福岡2019 ( #phpconfuk )で発表するユニットテストの現場の問題についての整理を行っていくトークです。
GoのAPIでのValidation Error Handlingの実装例です。
Go Conference Tokyo 2019 Spring で発表したコンテナベースのGoアプリケーションの設計・実装の実践紹介です。
GoでのAPIアプリケーションのアーキテクチャ実装を赤裸々に晒すものです。
#phperkaigi 2019での発表資料です。 応用編は https://speakerdeck.com/hgsgtk/think-deep-unit-test-practical-problem にて
#dockertokyo で発表したコンテナベースでのアプリケーション設計についてです。 元資料 https://docs.google.com/presentation/d/1kDdUWte7B2czfyObhEPjS6W9FSrdFQWOPHtecBxQuCc/edit?usp=sharing
"テストが辛いを解決するテスト駆動開発のアプローチ" at PHPカンファレンス仙台2019
このページを最初にブックマークしてみませんか?
『Kazuki Higashiguchi (@hgsgtk) on Speaker Deck』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く