2023-11-02 JaSST'23 Kyushu 招待講演 https://www.jasst.jp/symposium/jasst23kyushu.html 実装完了後の手動テストに依存した開発サイクルに継続的テストのアプローチを適用し、段階的に品質を向上する方法について説明しています。
切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React
前回まで ITエンジニアなのにまだ投資やってないの?ITエンジニアならChatGPTでクオンツシステム作って儲けようぜ ITエンジニアなのにまだ投資やってないの?ITエンジニアならChatGPTでクオンツシステム作って儲けようぜpart2 ネトフリは面白い 僕はネトフリのヘビーユーザーなんですが、投資系にも リーマンショックまでの経緯と仕組みを実録インタビューで振り返る「インサイドジョブ」や AIテック系の話で、チェスは機械には勝てないと言われてAIが勝ち、「人間の高度な知的能力でしか勝てない」と言った囲碁の世界王者に勝ち、今では7、8年も訓練を積んでようやくなる戦闘機のエースパイロットにも勝ち、AIの実用速度の高さをドキュメントした「アンノウン」なんかも面白いし勉強になります。 投資思考では技術力UPは悪手 投資思考って事業でも人生でもとても大事です。 例えば、収入に不満を持ってるエンジ
リファクタリングの鶏卵問題 ソースコードがクソなので綺麗にしたい。 リファクタリングしたい。 しかし、リファクタリングが出来ない。 リファクタリングが出来ないのは、テストが無いからだ。 よし。じゃあテストを書こう。あれ、テストが書けない? そのようなテストが無く、書き換えられないことによる矛盾や憤りは皆さん何百回と感じてきたと思います。 しかし、この「テストが出来ない」ということを言語化するのは、非常に難しいと思います。それは、「テストが出来ない」には実は2つの視点があります。 本質的にテストが困難なモジュールで、誰がやってもテストが書けない。 本質的にモジュールはテスト可能だが、自分の実力が足りず、自分ではテストが書けない。 1.のようなテスト困難なモジュールは誰がやってもテストは書けないです。しかし、問題は、「テストを書きたい」と思ったとき、「自分がそれほどテストに詳しくない」という場
Sansanは10月25日、テストコードについての研修資料を無料公開した。4月に実施した新卒の技術研修で使った資料の一部で、入社2年目の社員が作成。Pythonのテストフレームワーク「pytest」でのテストコードの書き方や、VSCodeでのテスト方法などを解説している。 同社はテストコードの便利な点として「実行確認しやすい」「リファクタリングや修正後に実行結果や振る舞いが変わっていないことを確認できる」「コードの挙動が理解しやすい」を挙げる。テストコードの重要性を理解し、テストコードを活用できるようになることを目的に研修を行ったとしている。 関連記事 新卒向け「統計学の基礎」100ページ超 SaaS企業が無料で資料公開 ブレインパッドが、新卒研修で使った統計学の学習資料を公開した。統計学の基礎を解説したもので、ページ数は100ページ超。スライド公開サービス「Speakerdeck」から無
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変
Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 本記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開
普段何気に使っているPostman。最近まで「手軽にGUIで疎通を試せて、設定を共有できてべんり〜」くらいで使っていました。 けどふと「実はもっと便利な機能があるのでは?」と思って調べてみたところ、色々出てきたのでせっかくなのでシェアしたいと思います。 たまたまですがちょうど10選! 地味に便利な機能10選 VSCode拡張 PostmanにはVSCode拡張機能があります。 インストールするだけで、VSCodeのサイドバーから利用可能です。 日本語設定 日本人なので日本語で使いたい。 右上の歯車→Settingsから以下の通り選択することで日本語化が可能です。 変数の定義 複数のAPIで同じ値を使いたい場合があるとします。例えばテスト用のユーザーIDなどです。 Postmanではそんな値をAPIファイルに逐一ハードコードする必要はなく、変数に保存することが可能です。 Postman Ec
» 【検証】フタを開けた時に一番ガッカリしない「筒型ポテトチップス」はどれか? レーザー距離計でフタから中身までを測ってみた結果… 特集 【検証】フタを開けた時に一番ガッカリしない「筒型ポテトチップス」はどれか? レーザー距離計でフタから中身までを測ってみた結果… あひるねこ 2023年12月5日 基本的にポテトチップスと名の付くものなら何でも好きだが、筒型のポテチは袋よりも若干高価なのでスペシャル感がある。しかしだ。先日、久しぶりに某商品を購入。ワクワクしながら開けてみたところ、いきなり違和感が。 なんか少なくね……? え、こんな量だった? 筒の長さに対し、どうも中身が少なく感じられたのである。まさか食べる前に軽くガッカリさせられるとは……世界って残酷ですね。そこで今回は、フタを開けた時に一番ガッカリしない筒型ポテチはどれか調べてみることにしたい。 ・距離を検証 用意したのは以下の5種類
マイクロソフト、Webアプリテストの自動化サービス「Microsoft Playwright Testing」プレビューを開始 マイクロソフトは、Webアプリケーションのテスト自動化フレームワーク「Playwright」を用いた、Microsoft Azure上のテスト自動化サービス「Microsoft Playwright Testing」のプライベートプレビューを開始すると発表しました。 テスト自動化フレームワーク「Playwright」 Playwrightは、マイクロソフトが中心となって開発しているオープンソースのWebアプリケーション向けテスト自動化フレームワークです。 実行環境、対象ブラウザ、対応言語が幅広く、テスト実行時にはWebブラウザの動作を自動的に待つ機能を備えるなど、柔軟で精度の高いテスト自動化が実現できる点を特長としています。 具体的には、デスクトップ向けのWebア
この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA
ガジェット全般、サイエンス、宇宙、音楽、モータースポーツetc... 電気・ネットワーク技術者。実績媒体Engadget日本版, Autoblog日本版, Forbes JAPAN他 デスクトップ版のFirefoxブラウザーに20年以上存在していたバグが先月、23歳のプログラミング初心者によって修正されました。 2002年、MacでMozilla browser(Firefoxの当時の名称)を使用していたアダム・プライス氏は、ツールチップの表示の問題に悩まされていました。このバグは、Mozillaツールバーのアイコンにマウスカーソルをポイントして表示されるツールチップ(説明書き)が、Commandキー(WindowsではAltキー)+Tabキーでウィンドウのフォーカスをほかのアプリに移したあとも表示され続けてしまうというもの。 この状態になってしまった場合、ツールチップを消すには再びFir
アジャイル型の開発が導入されていない現場であっても、そして一人であっても、実践可能なアジャイルに関するプラクティスは存在します。 例えば、自動テストや、テストファースト、テスト駆動開発(TDD:Test Driven Development)です。ユニットテストフレームワークを使ってテストコードを書いて開発しながらテストを実行する「自動テスト」、実装の前にそのテストコードを書く「テストファースト」、テストと実装を繰り返しながらインクリメンタルに設計・開発を行うのが「TDD」。これらプラクティスのなかで、はじめの一歩となるのが自動テストですが、1人で実践するには、どこからはじめるか、どうテストを組み立てればよいのか、あるいは自分のテスト方法は適切なのか、不安を持つこともあるでしょう。 そこで本稿では、さまざまなチームや組織へのテスト手法の導入を支援し、精力的に講演や執筆などを行ってきたこの分
GitHubのデータセンターでは、Mac miniを分解して取り出したメイン基板をラックマウントに使っている GitHubは、コードのビルドやテスト環境などで使えるGitHub-hosted runnerとして、Apple M1チップによる「M1 macOSランナー」を提供しています。 このM1 macOSランナーの実行環境として同社のデータセンターには大量のMac miniが稼働していますが、同社が先月(2023年12月)に公開した動画によると、この大量のMac miniはラックマウントのために分解されてメイン基板が取り出され、専用のシャーシに納められていると説明されています。 GitHubはどのようにしてMac miniをデータセンター内でラックマウントしているのか、動画の内容を紹介しましょう。 Mac miniを分解、メイン基板を専用シャーシに組み込む あるGitHubのオフィス。こ
昨年末に人生ではじめて面接を担当したので、考えたことを書いていきます。 大前提 面接をやるにあたって、個人的に心がけたのは「勘違いしない」ということです。 ネット上で流れてくる人事みたいな人間にはなりたくないな、と。 ただ採用する側になってみて、確かにこれは担当者を勘違いさせる魔力があるなと感じました。 良くないですね。 ただやっぱ採用って組織やチームとしてはめちゃくちゃ重要な活動なので、そこにコミットするのは大切。 特に小さな会社であればあるほど。 前提 今回の採用に関しては、iOSエンジニアの中途採用でした。 新卒採用だったらまた基準は違うと思います。 やるべきこと 面接に臨む前に、履歴書・職務経歴書は熟読しました。 SNSアカウント/Github/ポートフォリオサイトがあれば、それもサラッと見て。 面接そのものは実際そんな大事じゃないのかなと改めて思ったりもしました。 書類からある程
(1)はじめに 応用情報技術者試験・高度情報処理技術者試験・情報処理安全確保支援士試験の答案、特に記述式・論述式の午後試験に自分が何を書いたか知りたいと思いませんか。記述式試験の解答は、時間が余ればメモできますが、論述式(小論文)の試験は時間的に不可能です。 そこで、情報処理推進機構(IPA)に対して保有個人情報開示請求を使って、自分の答案を取り寄せてみました。手続方法は、IPAのサイト https://www.ipa.go.jp/privacy/seikyu.html に書かれていますが、実際にやったことを書いておきます。 ちなみに、試験対策参考書の小論文解答例は、著者が何日もかけて考え、PCで推敲を重ねて書いたもので、ある意味「完璧な」答案です。これに対して、試験本番は2時間で手書きするものですから、完璧な答案は望むべくもありませんし、完璧でなくても合格できるのです。自分の見直しや、社
米UIUC(イリノイ大学アーバナ・シャンペーン校)に所属する研究者らが発表した論文「LLM Agents can Autonomously Hack Websites」は、大規模言語モデル(LLM)を用いたAIエージェントに、自律的にWebサイトをハッキングさせる攻撃手法を提案した研究報告である。LLMエージェントがWebサイトに存在する脆弱性を事前に知らなくても、自動検知してのハッキングが可能となる。 ▲自律型LLMエージェントを使ったWebサイトのハッキングの模式図 keyboard_arrow_down 研究内容 keyboard_arrow_down 研究結果 Webサイトを自律的にハッキングするようLLMエージェントを活用するには、エージェントのセットアップと、目標に向けてのプロンプトによる指示という2つのステップが必要である。エージェントによるハッキングでは、関数呼び出し、文書
はじめに 個人でフロントエンド(react)、バックエンド(node.js)、データベース(postgreSQL)を利用したWebサービスを公開したいと考えていました。 まずはテスト的に無料で外部公開できるサービスがないか調査しましたが、2022年8月に有料化されたHerokuの記事ばかりヒットしてしました。 結果的には無料で使用できる構成があり、実際にテストプログラムを動作させることができましたので構成例として記載しておきます。 ※無料なので比較的厳しい条件も含まれていたりするのでそれぞれのサービスを確認お願いします。 例えばsupabaseは数日間利用がないとインスタンスが一時停止して手動で起動させないといけないなどがあります。 今回試したサービス できるだけ同じサービスに集約したいと考えていましたが、実際にはフロントエンド、バックエンド、データベースはそれぞれ異なるサービスになってし
本記事は「GitHub Copilot とのペアプロ TDD でつくるローグライク RPG」の書評です。題名にローグライクRPGとあるのでゲーム開発の本なのかなと思ってしまいますが、本題は仕様の端的な表現をもたないシステムを LLM を使って真っ当に開発する方法の解説だと思います。タイトルにローグライクRPGと書いていることでゲーム開発に興味のない人の興味を失わせてしまい損をしている気がします。 背景 最近の LLM の流行を受けて私も Chat-GPT や GitHub Copilot といった LLM を開発で利用しています。端的に仕様を表現できるシステムは LLM に質問して実装を得る方が自分で実装するより圧倒的に速く正確であるという感想を抱いています。ただ端的に仕様を表現できるシステムばかりではありません。えてして価値を生んでいるシステムというのは端的な仕様の表現が存在しないもので
良いテストケースの作成手法を学ぶ - 「はじめて学ぶソフトウェアのテスト技法」を読んだ - $shibayu36->blog;に引き続き、ソフトウェアテストの知識について言語化を進めたいと考え、「単体テストの考え方、使い方」を読んだ。 単体テストの考え方/使い方 作者:Vladimir Khorikovマイナビ出版Amazon この本では優れたテストスイートの4本の柱を「退行に対する保護」「リファクタリングへの耐性」「迅速なフィードバック」「保守しやすさ」と定義し、これらの観点で優れたテストスイートを作る方法について教えてくれる。またこの4つの柱はトレードオフの関係にあるため、単体テスト・統合テスト・E2Eテストがそれぞれどの観点を重視すべきかなどについても言語化してくれている。 自分はこの本は非常に勉強になった。なぜなら単体テスト・統合テストの指針が明快に記述されていて理解しやすく、また
私は普段、お客様のチームに入り込み、SEとして仕事をしております 今日はそのチームで実際に起こった出来事からなぜか勝手に敗北感を味わった話をしたいと思います まずなにがあったか 普段すでに本番運用がされているシステムに新規要件を実装してまして、定期的に新機能をリリースするようなそんな運用となっています そんな中のある日、定例(朝会)の中で、直近リリースで発生したインシデントの共有がありました えーっと実は昨日〇〇という障害が本番環境で発生してその対処をしてました 調べてみた結果、原因は〇〇さんのこのプルリクでして (私:おいおい個人名だすのか!! このファイルのこの行でNullチェックが漏れてました (私:わわわわ、公開処刑だぁぁぁ まぁたしかにこの辺はほげほげふがふがで (私:ふむふむさすがにフォロー入るかぁ でもテストやレビューでちゃんとカバーしときたかったですね (私:全員巻き込んで
クイックサマリー:「テストピラミッド」は、自動テストをUI、サービス、ユニット単位に整理することで、開発に自動テストを組み込む方法を示すために作成されました。2012年に定義されて以降、このモデルは次第に使われなくなってきたように思いますが、本当に廃れてしまったのでしょうか。この記事では、最新のテスト戦略を紹介するとともに、今日のソフトウェア開発におけるテストピラミッドの関連性を検討します。 筆者の同僚であるジャン・フィリップ・ピエトルチェクが、かつてコードを書く開発者の責任について、次のように述べました。 none「我々の仕事の成果を最終的に使用する人々は、(中略)我々がただ最善を尽くすだけでなく、実際に機能するものを作ることを期待しているのです。」 — ジャン・フィリップ・ピエトルチェク 彼の言葉は、私たちが書くコードをそれに依存する人々の観点からとらえている点で非常に印象に残りました
最近流行りのChatGPT。 「色々な作業を自動化した」 「国家試験に合格した」 ニュースで目にする機会も最近は多いと思います。 では、ChatGPTは現段階でどのくらい賢いのでしょうか? 「海外の司法試験で人間を超えた」などの情報をよく耳にしますが、実感が湧きませんよね。 今回は日本人に馴染みの深い大学入学共通テスト(旧センター試験)を題材に、その実力を検証してみました。 実験方法今回は、令和4年度の国語・英語(リーディング)・公民(倫理 / 政治・経済)の3科目について実験を行いました。 ※ 数学・理科等の科目については図表を読み取る問題が多く、正確に試験できないため今回は除外しました。 ポイント①: テキストになおす大学入試センターで公表されている試験問題がPDFのため、ChatGPTに読めるテキスト形式にする必要があります。 今回はGoogle Docsの機能を活用して文字起こしし
雉も鳴かずば撃たれまい。 2023年9月19日にHIROTSUバイオサイエンスが出した「一部メディアの報道について」というプレスリリースを読んで、最初に感じたのはこれでした。 HIROTSUバイオサイエンスは「線虫ががんの匂いに引き寄せられる」という性質を使って、がんの早期発見効果を謳う "N-NOSE" というサービスを提供しています。 尿を一滴垂らすと、がんの人のものであれば線虫は寄ってくる。 健康な人のものであれば、逆に線虫は逃げていく。 自分の尿を線虫に判定してもらえば、がんのリスクがわかるということですね。 しかし、NewsPicks が「がん患者10人の尿が全て陰性(がんではない)と判定された」等のデータを元に、N-NOSE は役に立たないのではないかということを報道したのです。 これに対してHIROTSUバイオサイエンス側が9月19日に反論したのですが、これが正直絶句するよう
法律や政省令等のデータを提供する法令API の高度化の一環で、法令APIの機能拡張のプロトタイプ(法令APIプロトタイプ)を開発しました。 開発した法令APIプロトタイプについて、法令データを利用される方のご意見を募り、また新規サービスの創出を促進すべく、2023年10月24日(火)から2023年11月30日(木)までの期間で法令APIプロトタイプ公開テストを実施しました。当期間内で、法令APIプロトタイプの環境・具体的な仕様・サンプルコードを公開しました。 今回の取組を通して、法令APIプロトタイプの使い勝手やニーズ等、貴重なご意見を頂きました。ご意見については改善への参考にさせていただくとともに、今後も、法令API機能拡張等の検討を継続していきます。 公開テスト期間2023年10月24日(火)から2023年11月30日(木)まで ※終了しました 法令APIプロトタイプの概要公開テスト期
翻訳を担当した書籍『ソフトウェアアーキテクチャメトリクス―アーキテクチャ品質を改善する10のアドバイス』(オライリー・ジャパン)が明日(2024年1月24日)発売となります(電子書籍はオライリー・ジャパンのサイトでの購入となります)。本書は、2022年10月に出版されたChristian Ciceri, Dave Farley, Neal Ford, Andrew Harmel-Law, Michael Keeling, Carola Lilienthal, João Rosa, Alexander von Zitzewitz, Rene Weiss, Eoin Woods 著『Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture』(O'Reilly Media)の全
近年のソフトウェア業界では、テスト関連活動を担うエンジニアを「QAエンジニア」と呼ぶようになっています。ただQA(品質保証)という言葉は、旧来から二つの定義が共存しているほか、業界内の通例で更に別の意味付けが行われた結果、定義が曖昧になり誤解を生みがちな状態となっています。 そこで今回は、日本語圏で、QA(品質保証)の言葉がどのように定義されているか、整理して解説します(結論からいうと三流派あります) 国際標準規格での定義:品質マネジメントシステムの実証 IEEEやISOといった国際的な標準規格、およびそれに準拠した知識体系や標準では、古くから体系立てて品質マネジメント、品質保証、品質管理の定義を行っています。 有力な文献として、品質マネジメントの標準規格である、ISO 9000:2015の定義を紹介します。 まずISO 9000では、品質保証の前提として品質マネジメントという用語を使って
昨日うるう日にしか発生しないバグに遭遇した。Javascriptを書く人には有名な話だとは思うので大して面白くはないかもしれないが一応メモ。 詳しくは書けないがバグが発生した関数の仕様としてはざっくりと下記のような感じ。 対象の年月日が基準日の1年前から1年後の間に含まれる場合はtrueを返しそうでない場合はfalseを返す 引数として2020-12-24というフォーマットの文字列が渡される(判定対象の日) 引数として2021-01-01というフォーマットの文字列が渡される(+-1年の基準日) Javascriptで書く (例) 対象の日: 2024/10/10 基準日: 2024/01/28 この時、trueになる範囲は2023/01/28 ~ 2025/01/28。なので2024/10/10はtrue。2023/01/28も2025/01/28もtrueになる。閉区間。 とあるコードの
Presentation Slides for ServerlessDays Tokyo 2023 ( connpass) Session Title: 失敗から学ぶAPIファースト ~ 正しいデザインからはじめるアーキテクチャ選定、開発ライフサイクル&コラボレーション Session Video: [ServerlessDays Tokyo 2023] 失敗から学ぶAPIファースト / 川崎庸市 Date: 2023/09/23 Update history - 2023/09/24: fix typo - 2023/12/13: p19 表現を更新「APIファースト」→「APIファースト開発モデル」
個人的にはまあまあ信用していたN-NOSE検査。 九大かどっかの助教研究員(たぶん医学部ではない) が起業して売り出した検査で、東山紀之や仲間由紀恵がCMに出ています。 尿を提出して癌がいれば線虫が集まってきて教えてくれるよ~、ってやつです。 何人かの患者さんには薦めてしまったのですが、結論から言いますとこの検査はダメっぽいです。私が薦めてしまった方、すみません。 すでに確立された癌のスクリーニングとしてPET検査というものがありますが、こちらは以前紹介したように放射性同位元素でラベルした砂糖水を注射して、癌が発生している部位があればそこに取り込まれて癌を見つけてくれるという検査です。これらで癌が確定した10名の尿をN-NOSE検査に回したら全例 “低リスク判定”だったという衝撃の報告。 私は逆でPET検査で癌はみつからず、N-NOSE検査では E判定の超高リスク (笑)。 これはすい臓が
ホーム 技術ブログ 愛されて23万View!新卒向け研修資料「テスト文字列に”うんこ”と入れるな(2024年版)」を公開しました 愛されて23万View!新卒向け研修資料「テスト文字列に”うんこ”と入れるな(2024年版)」を公開しました こんにちは松井です。今は会長になりました。 遡ること3年前、2021年の新卒研修向けに「テスト文字列に”うんこ”と入れるな」という資料を作成しました。 おかげさまで多くの方に読んでいただいたようで、SlideShareのView数は「23.6万View(2024年4月現在)」にまで達しました。 わたし的にはもうこれで満足していたのですが、 「会長、今年も例のうんこの話をしていただけませんか」 というオファーがあり、またこのクソみたいな話をすることになったという次第です。 せっかく話をするならばということで、事例やTIPSのページを新たに加え、「2024年
ソフトウェアテストに関する知識をもう少し言語化したいなと思い、「はじめて学ぶソフトウェアのテスト技法」を読んだ。 はじめて学ぶソフトウェアのテスト技法 作者:リー コープランド日経BPAmazon この本では主に良いテストケースの作成手法について学べた。良いテストケースとは「最小の時間と労力でほとんどのエラーを検出する可能性がもっとも高くなるようなテストケース」のこと。これにできる限り近づけられるようにテストケースを工夫する。 良いテストケースを作るためにどういう技法があるかをこの本はいくつも教えてくれる。自分がこれまでテストを書いていると「こういうテストの方がなんとなくベターだよな...?」みたいに感覚的に考えていたところを、言葉として定義してくれることで構造化できるのはありがたかった。たとえば 同値クラステスト 同じグループのテストが、以下を満たせば同値クラスを形成する 同じ機能をテス
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く