Developers Summit 2023での発表資料です。 ソフトウェアテストを専門としない人が、どんな本で、どんな順番にソフトウェアテストを勉強すればいいのかについて、主観のみで語っています。
このエントリーは、GMOアドマーケティング Advent Calendar 2018 (https://qiita.com/advent-calendar/2018/gmo-am) の 【12/09】 の記事です。 GMOアドマーケティングとしては初のAdvent Calendar参戦です。 はじめに Go言語では、Table Driven Testという形式でテストコードを書くのが一般的です。 Goエンジニア(Gopher)の間では、「Goらしさ」という言葉がよく使われていて、 ソースコードはいつもGoらしく書くことが求められます。 Goらしさという言葉には曖昧なところが少しあると思いますが、 Table Driven Testは、Goらしさの一つです。 今回は、GoらしさをJavaに持ち込んでみた例を紹介します。 Table Driven Testとは Table Driven Tes
tl;dr shUnit2 shUnit2 とは shUnit2 で Hello World shUnit2 諸々 詳細については... Assert assertEquals assertNotEquals Setup/Teardown oneTimeSetup oneTimeTearDown ちなみに, setUp と tearDown awscli を使ったシェルスクリプトでテストする さて, 今回 サンプル シェルスクリプト テスト 以上 tl;dr とある勉強会で, @pyama86 さんに「うちではシェルスクリプトのテストは shunit2 で書いていますよー」って教えて頂いたので, 早速導入してみた話をダイジェストで. shUnit2 shUnit2 とは Bourne Shell をベースとした, シェルスクリプトの為のユニットテストフレームワークです. github.co
Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger. Logrus is in maintenance-mode. We will not be introducing new features. It's simply too hard to do in a way that won't break many people's projects, which is the last thing you want from your Logging library (again...). This does not mean Logrus is dead. Logrus will continue to be maintained
Unit testing is often talked about in software development, and is a term that I've been familiar with during my whole time writing programs. Like most software development terminology, however, it's very ill-defined, and I see confusion can often occur when people think that it's more tightly defined than it actually is. 1 Although I'd done plenty of unit testing before, my definitive exposure wa
Unit-Testing Golang HTTP Middleware is simple, but a topic that is not well covered. This post covers an example http middleware including unit tests. Constructing and using idiomatic http middleware is a story that’s already been told. See this, this, or simply google it to learn more about the topic. Something you won’t find in that search is how to unit test http middleware in Golang. The examp
この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.
questionable services Technical writings about computing infrastructure, HTTP & security. (by Matt Silverlock) Testing Your (HTTP) Handlers in Go ••• You’re building a web (HTTP) service in Go, and you want to unit test your handler functions. You’ve got a grip on Go’s net/http package, but you’re not sure where to start with testing that your handlers return the correct HTTP status codes, HTTP he
この記事は株式会社ネクスト(Lifull) Advent Calendar 2016の2日目の記事です。 みなさんはじめまして、ネクストのchissoです。 はじめてQiitaに投稿するのでドキドキしています。 そんなことはさておき、この記事では、Golangで自動テストしやすいコードを書く方法について、私なりに気づいたことをまとめます。 想定読者 普段よくRSpecを書いている Golang初心者 Interfaceってなに? 目指すところ 「メソッド単位でテストコードを実行できる状態にする」 これだけです。 私は普段Rubyを書くことが多く、RSpecを使ってメソッド単位でユニットテストを作成しています。 ですが、Rubyと同じ感覚でコードを書いて、RSpecと同じノリでGolangのテストを書こうとしてハマりました。 (静的型付けの言語・Interfaceに疎く、そもそもコードがダメ
Five must-haves for robust, debuggable production code. Shipping a production-grade Go application is not the same as shipping a Go application. Remember, the big difference between your code and your code in production is all the ways it can fail; production-grade code is code that recognizes that difference, and prevents or plans for it. So, how can you convert your Go to production-grade Go? Th
最近何度か聞かれたので自分がGolangでCLIツールやAPIサーバーを書くときに実践してるinterfaceを使ったテスト技法について簡単に書いておく.まずはinterfaceを使ったテストの基本について説明し次に自分が実践している簡単なテクニックをいくつか紹介する. なおGolangのテストの基本については @suzuken さんによる「みんなのGo言語」 の6章が最高なので今すぐ買ってくれ! 前提 自分はテストフレームワークや外部ツールは全く使わない.標準のtestingパッケージのみを使う.https://golang.org/doc/faq#Packages_Testing にも書かれているようにテストのためのフレームワークを使うことは新たなMini language(DSL)を導入することと変わらない.最初にそれを書く人は楽になるかもしれないが新しくプロジェクトに参入してきたひ
Unit-testing programs depend on I/O in Go @yuya_takeyama 2014/11/30@GoCon 2014 Autumn At first Mr. Pike, thank you for coming to Japan And thank you for great language 主催者の皆様、素晴らしいイベントと発表の機会をありがとうございます 楽天さん、会場をありがとうございます このスライドについて 発表に含まれるコードは GitHub リポジトリ中 にあります Pandoc はじめて使いました。便利な運用についてご存知の方教えてください... こんにちは 普段は PHP で Web アプリ運用してます コマンドラインツールは Ruby で書いてます コマンドラインツールは徐々に Go に寄せつつあります db2yaml dbya
本記事はGo Advent Calendar 2014の18日目の記事です. Go言語は,クロスコンパイルや配布のしやすさからコマンドラインツールの作成に採用されることが多い.自分もGo言語でいくつかのコマンドラインツールを作成してきた.例えば,GitHub Releaseへのツールのアップロードを簡単に行うghrというコマンドラインツールを開発をしている. コマンドラインツールをつくるときもテストは重要である.Go言語では標準テストパッケージだけで十分なテストを書くことができる.しかし,コマンドラインツールは標準出力や標準入力といったI/O処理が多く発生する.そのテスト,例えばある引数を受けたらこの出力を返し,この終了ステータスで終了するといったテストは,ちゃんとした手法が確立されているわけではなく,迷うことが多い(少なくとも自分は結構悩んだ). 本記事では,いくつかのOSSツール(得に
I have seen several different test package naming strategies within Go and wanted to know what pros and cons of each are and which one I should use. Strategy 1: File name: github.com/user/myfunc.go package myfunc Test file name: github.com/user/myfunc_test.go package myfunc See bzip2 for an example. Strategy 2: File name: github.com/user/myfunc.go package myfunc Test file name: github.com/user/myf
Goodpatch Advent Calendar 2016 13日目の記事です! わたしはGoodpatchでProttというプロトタイピングツールのWebフロントエンドの開発を担当しています。 Prottでは、プロトタイプの再生に関する修正をしたあとは必ず全動作を網羅したテスト用プロジェクトでの動作確認を行っています。 ただ、すべての環境や条件を揃えた上でのテストにはなかなかの工数がかかってしまっていました。 この記事では、オールペア法という手法とPICTというCLIツールを使用してテスト工数を半分以下に削減した方法を紹介します。 単純に全組み合わせ 推奨環境としているOSやブラウザと3種類の再生モードを組み合わせると、テストすべき組み合わせは全部で20パターンになります。 (プレビューモードとプレゼンテーションモードは対PC、スタンドアロンモードは対モバイルのモードです。) - Ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く