InfoQ ホームページ テスト に関するすべてのコンテンツ
-
テストの方法を動物から学ぶ
よりよいテストの方法は動物が食べ物を探す方法から学ぶことができる、とJames Bach氏は主張する。テスタは時間をかけてプロダクトのバギーな部分を見つけ出すが、一度離れて他の領域を探した方が効果的な場合もあり得る。オートメーションに頼るのは止めて、バグをハントする方法を学ぶのだ。
-
Visual Studio CodeがJUnitのサポートを発表
マイクロソフトのVisual Studio Code(VS Codeとしてよく知られている)サポートチームはJUnitテストケースの実行とデバッグができる拡張機能のリリースを発表した。この拡張機能はレッドハットが出しているJava言語サポートの拡張機能とJavaデバッガと連携し、エディタでJava言語を書く開発者にとって必要な開発用機能をすべて提供する。
-
レジリエントなサービスを設計する - Nora Jones氏がQCon SFでNetflixのカオスエンジニアリングを論議
QCon San SFでNora Jones氏が、“Designing Services for Resilience Experiments: Lessons from Netflix”と題したプレゼンテーションを行なった。講演の主な内容は次のようなものだ – カスタマエクスペリエンスが重要である。レジエンスのテスト容易性を設計することは共通の責務である。構成の変更はシステム停止を引き起こす可能性がある。エンジニアは設定変更のアンチパターンを見つけ出すための明示的な監視を行なうことが必要だ。
-
進化的アーキテクチャと継続的デリバリを支える技術的実践
TDDやリファクタリング、CI、ペアプログラミングなどのXPの実践は創発的設計をサポートし、アーキテクチャの進化を可能にする。継続的デリバリに必要なのは第一にCIで、メインラインに毎日コミットすることだ。きれいでしっかり考えられた、そして、よくテストされたコードを書けることは開発者にとってもっとも重要なスキルだ。
-
IntelliJ IDEA 2017.3リリース
JetBrainsが旗艦製品であるIntelliJ IDEAのバージョン2017.3をリリースした。Java、Java EE 8、Spring Boot、Kotlin、Dockerのサポート強化など新しい機能を追加している。バージョン2017.2のリリースから3ヵ月後の最新リリースだ。このリリースまで、JetBrainsはこの最新バージョンのパブリックプレビューを提供し、フィードバックとバグレポートを求めた。
-
コンテナ化されたマイクロサービスをデバッグする - Idit Levine氏のQCon SFでの講演より
QCon San Franciscoで、Idit Levine氏が“Debugging Containerized Microservices”と題して講演し、分散型マイクロサービスベースシステムにおけるデバッグの問題点を概説するとともに、システム固有の課題を克服する上で可能な3つのアプローチを紹介した。講演では、氏が開発中の新たなオープンソースのマイクロサービスデバッガで、VS Code IDEと統合可能なSquashも紹介された。
-
どのようにしてテストを自動化するか
テスト自動化には時間と注意が必要だが、正しくは実現すれば、投資する価値がある。Karishma Kolli氏は自動化をやり過ぎず、ニーズと要求に注力することを推奨している。きれいで簡単に読めるコードを維持することはテストをメンテナンス可能にするためにとても重要だ。
-
JUnit 5リリース
JUnit 5がリリースされた。この10年で最初のメジャーリリースになる。また、EPL v2.0ライセンスでリリースされる最初のプロジェクトの一つで、ツール作者とエンドユーザーを助けるために、モダンなモジュラーアーキテクチャを備えている。
-
Bob Martin氏のブログ記事: テストの反変性
アジャイル宣言の共著者であるBob Martin氏は、共変性のある構造を持つコードとテストを記述してしまうという落とし穴の概要を説明したブログを公開した。本質的には、テストの構造は反変性を持つ方法で設計されるべきであり、壊れにくく、コードベースをリファクタリングしやすいように製品コードとは疎結合にすべきであると彼は強調した。
-
LLVMがPDBフォーマットのドキュメント化とYAMLへの変換を実現
LLVMがPDBファイルを生成可能になり、Windowsのデバッグツールが使用できるようになった。さらにフォーマットがドキュメント化され、分析やYAMLからPDBを生成するツーリングも開発されている。
-
Wyndham Vacation Rentals UK社におけるアジャイルとDevOpsの導入
アジャイルとDevOpsの導入は、Wyndham社におけるQAの役割にプラスの影響を与えた。ライフサイクルの初期段階における取り組みにフォーカスすることで、バグやポストプロダクション問題の少ない、スムーズなリリースに繋がった。テストすることは共同責任となり、ビジネス部門と顧客はこれまで以上にデリバリーサイクルに関わるようになった。
-
Meetupでの技術的負債の取り組み
継続的に製品の健全性を保つには定期的に一番影響のある技術的負債を優先順位付けして、それらを全体的に解消していくことだ。MeetupのCTOであるYvette Pasqua氏は、技術的負債に対する取り組み方を継続的に繰り返し適用することでより大きな成果を生み出すことを推奨している。最も影響の大きい負債から取り組み、その負債を解消したことで生まれる改善について伝える、というのが氏の主張だ。
-
テスターのためのGitHub
開発者とバージョン管理の話をすると、ワークフローツールとしてのGitやコードと履歴書を保存する場所としてのGithubの話になるかもしれない。テスターがGithubを使って個人的、または、仕事上でのプロジェクトに参画したり、既存のプロジェクトに貢献するのは有益なことだ。
-
クラウドソーシングテストを管理する
クラウドソーシングテスト(Crowdsourced Testing)とは、クラウド — 実在のユーザとテスタ — が現実の条件下でテストに参加するという、ユニークなテスト手法だ。Swisscomにおいてそれは、開発プロセスの早い段階での欠陥発見と製品の品質向上に役立っている。
-
よりテクニカルなテスタになるには
テストの実施において、テクニカルなテスト技法(test craft)のテクニックをうまく適用できるテスタは、チームの品質と生産性の向上を実現するという意味から、より価値の高い存在である。テスタがよりテクニカルになるためには、コードについて学ぶとともに、テキストファイルを操作し解析する方法、アプリケーションプラットフォームにおいて最も重要な分析ツールを扱う方法を知っておくことが必要だ。