InfoQ ホームページ automated-testing に関するすべてのコンテンツ
-
時代に左右されないテストツールを使う意義
Benjamin Bischoff氏は、開発者にとって、新しいツールは古いツールよりずっと興味深いという。新たなテクノロジーやアプローチが学べ、仕事道具の幅が広がる機会が得られるからだそうだ。しかし、何十年も前からあるツールを使えば、時間と予算を節約できる。ツールを評価する際には、ツールにいきなり飛びつくよりも、解決すべき問題を理解することが重要である。
-
Terraform 1.6でテストフレームワークが一般提供開始
HashiCorpは、新しいテストフレームワークを含むさまざまな新機能を備えたTerraform 1.6をリリースした。その他の改善点には、config-driven import、Terraform Cloud CLIワークフロー、およびAmazon S3バックエンドの変更が含まれている。このバージョンは、TerraformがBusiness Source License v1.1(BSL 1.1)の下でリリースされる最初のバージョンとなる。
-
多くの入力パターンをテストできるProperty-based Testing
Property-based Testingは、特定の例に頼るのではなく、常に真となるはずのステートメントを指定するアプローチである。これにより、より少ないテスト回数で、多くの入力に対して機能をテストできる。
-
CircleCIレポートにより、成功したソフトウェアチームがより大規模で、広範囲にテストを実施していることがわかった
CircleCI(継続的インテグレーション・継続的デリバリープラットフォーム)は、2022年ソフトウェアデリバリ状況レポートの調査結果をリリースした。このレポートでは、最も成功したソフトウェアデリバリチームがより大きなチームであり、広範囲に及ぶテストを行い、デプロイの準備ができていることを優先していることが明らかになった。
-
Lyftにおけるマイクロサービステストの拡張と自動化
Liftは以前、エンドツーエンドのテストなど、いくつかの目的でクラウドベースの分離環境を使用していた。しかしながら、マイクロサービスの数が増えるにつれて、これらの環境を用いたテストでは拡張性が不足するようになり、次第に価値を失っていった。先日の記事では、Lyftが共有ステージング環境においてリクエスト分離を使用したテストへ移行し、運用デプロイメントのゲート管理に受け入れテストを使用するようになった経緯を紹介した。
-
Goがベータ版でファズテストをサポート
Goチームは、ベータテストでファジングがサポートされるようになったことを発表した。プロジェクトの主な目標は、堅牢なモジュールサポート、goコマンドとの統合、新しいコンパイラインストルメンテーションなど、言語の開発者とユーザ向けに統一されたエンドツーエンドのエクスペリエンスを作成することである。
-
Quarkus 2.0への道: 継続的テスト
Quarkusは、実行時間、リソース、開始時間と終了時間、そして現在はアプリケーション開発の両方の観点から、Javaエンタープライズアプリケーションを可能な限り効率的にする努力を続けている。Quarkus 2.0は、継続的テスト機能で開発モードを充実させている。これに取り組んでいるシニアプリンシパルエンジニアのStuart Douglas氏が、概要を説明する。
-
GitLab Protocol Fuzzer CEがオープンソースに
GitLabは、13.4リリースで導入されたCore Prototol Fuzz Testingエンジンを、オープンソースとして公開した。ファズテスト(Fuzz Tesiting)とは、ランダムに生成された入力をアプリにわたすことで、ビジネスロジック内にあるセキュリティ上の問題や欠陥をより効率的に見つけ出すことを目的とするものだ。Principal Product ManagerのSam Kerr氏に詳しく聞いた。
-
GoogleがPython用ファジーテストツールAtherisをオープンソースとして公開
Googleは先頃、Python用の新しいファジーテストエンジンをオープンソースとして公開すると発表した。新たなファザー(fuzzer)のAtherisは、Pythonコードとネイティブエクステンション内のバグを検出する。メモリ破壊バグや未定義動作(バッファオーバーフロー、ポインタのアライメント不正、nullポインタなど)の検出ツールであるAddress SanitizerやUndefined Behavior Sanitizerと組み合わせて使用することも可能だ。
-
マイクロサービスでのエンドツーエンドテストの課題
マイクロサービスは、エンドツーエンドの責務を持って自動化されたCI/CDパイプラインを運用する、独立したチームに適している。一方で、エンドツーエンドのテストによるソフトウェアの品質保証は、ソフト���ェアコンポーネントの迅速な統合とリリースに相反する場合もある。エンドツーエンドのテストがフェールすると、その原因となった問題が解決されるまで、関連するすべてのマイクロサービスのCI/CDパイプラインがブロックされることになるからだ。
-
AWSがMac MiniベースのEC2インスタンスの提供を開始
re:Invent 2020で発表されたAWSの新しいEC2 Macインスタンスにより、Amazon Elastic Cloud ComputeでmacOSを実行して、macOS、iOS、iPadOS、tvOS、watchOS、SafariなどのAppleプラットフォーム用のXcodeアプリケーションを構築、テスト、パッケージ化、署名できる。
-
DevTestOpsプラットフォーム Mabl によるシフトレフトテスト
開発ライフサイクルの「早期にテストし、頻繁にテストする」および「できるだけ早期にテストする」という考えに対して、シフトレフトテストはよく知られているアプローチだ。最近、シフトレフトテストとCI/CDの組み合わせにより、DevTestOpsと呼ばれるDevOpsへの新しいアプローチが活発になっている。InfoQは、DevTestOpsプラットフォームメーカ mablの共同創設者であるDan Belcher氏と話をした。
-
GitLabの年次DevOps調査で、新たなトレンドと変化する役割を示す
21か国から3500人を超える開発者によって完了したGitLabのDevOps調査は、開発とリリース、セキュリティ、テストの3つの主要な領域を網羅している。この調査は、リリースサイクルの高速化と品質の向上を示唆しており、最近のDevSecOps領域では、より組織的な微調整が必要だ。InfoQは、GitLabのシニア開発者エバンジェリストであるBrendan O'Leary氏と話す機会を得た。
-
Mock Service Workerライブラリにより、復元力のあるRESTおよびGraphQL APIテストが可能に
Mock Service Worker (MSW) APIモックライブラリを使用すると、開発者は、実際のバックエンドを使用したり、モックサーバーを設定したり、ネイティブhttp/https/fetch実装をスタブしたりせずにWebアプリケーションをテストできる。MSWは、RestとGraphQL APIの両方をモックする。MSWは今年JavaScriptオープンソース賞を受賞した。
-
堅牢なテスト戦略により自信を持ってDropbox Syncをリライト
過去数年間、Dropboxのエンジニアはクライアント側の同期エンジンをゼロから書き直してきた。DropboxのエンジニアであるIsaac Goldberg氏は、明確なテスト戦略を定義していなければクイックなリリースサイクルで新しいエンジンを構築して出荷するのは、不可能だったと述べている。