InfoQ ホームページ テスト に関するすべてのコンテンツ
-
多くの入力パターンをテストできるProperty-based Testing
Property-based Testingは、特定の例に頼るのではなく、常に真となるはずのステートメントを指定するアプローチである。これにより、より少ないテスト回数で、多くの入力に対して機能をテストできる。
-
AWSがAWS SAM CLIにリモート呼び出し機能を導入、Lambda関数のシームレスなテストが可能に
AWSは先日、AWS Serverless Application Model (SAM) Command Line Interface (CLI) for AWS Lambdaのリモート呼び出し機能を発表した。これにより、開発者は AWS クラウドにデプロイされた AWS Lambda 関数を迅速に呼び出すことができる。
-
CIシステムを製品として扱って、高速で高品質なフィードバックサイクルを実現しよう
継続的インテグレーション(CI)システムのフィードバック時間を改善し、テスト手法とクラスを最適化することで、開発チームにとってより効果的なフィードバックが得られるようになった。Tobias Geyer氏によると、CIシステムは開発プロセスの重要な一部であり、そのように扱われるべきだという。
-
セマンティックHTMLによるウェブアクセシビリティの向上とテスト技法・ツールについて
ウェブアクセシビリティは、私たち全員に利益をもたらす。デザイナー、開発者、テスト担当者はウェブアクセシビリティをチェックでき、例えば、セマンティックHTMLの使用、コーディング時のウェブ標準への準拠、ウェブアクセシビリティのテストなどにより、ウェブやサービスをより包括的なものにすることができる。各国では包括的基準を実施するための規制を導入している。
-
クラウドでのテスト駆動開発の適用
クラウドでは、アプリケーション開発を、それに付随するインフラと一緒にエンドツーエンドで扱うことができる。これにより、テスト駆動開発(TDD)やリファクタリングをアプリケーション全体で使用することが可能になり、メンテナンスコストを下げることができる。
-
ソフトウェア品質の評価方法
QPAM(Quality Practices Assessment Model)を用いて、チームの発揮する行動を「開始」「統合」「実践」「革新」といったを4つの次元に分類できる。QPAMはフィードバックループ、文化、コード品質と技術的負債、デプロイメントパイプラインといった社会的・技術的な品質側面を調査するのだ。
-
システムの品質を向上させるためにデータをどう活用するか
システムがどのように利用されているのかを知るためには、メトリクスを収集することで時系列に傾向を把握できる。得られたデータとインサイトは、ソフトウェア設計やテストパターンを改善することでシステムの品質向上に寄与するのである。Craig Risi氏は、Agile Testing Days2022で、システム品質向上のためのデータ活用について講演した。
-
JetBrains、テスト自動化指向の新IDE「Aqua」をリリース
JetBrainsによれば、現在プレビュー版を公開しているJetBrains Aquaは、テスト自動化に焦点を当てた新しいIDEで、自動化エンジニアの業務に欠かせないさまざまなツールをサポートしている。多言語対応、HTTPクライアントとWebインスペクタ、データベース管理、Dockerの統合サポートなど、さまざまな機能を備えている。
-
OpenSSFがFuzz Introspectorをリリースして、C/C++ファズテストのカバレッジを改善
Open Source Security Foundation(OpenSSF)は、ファジングのカバレッジを改善するツールをリリースした。このツールは、開発者がアクションに移すことができる分析結果を提供し、カバレッジブロッカー(カバレッジを阻害するもの)の特定を支援する。
-
モダンテストへの移行:テスターがチームの補助輪になることをどのように止めるか
従来のテストは、テスターがセーフティネットとして機能し、テストが実装から分離されているが、これは品質に悪影響を与える可能性がある。そうではなく、テスターはコーチとして行動し、チームで協力し、変化を促進することで、チームの補助輪になってしまうことをやめることができる。文化が重要で、特に環境が心理的安全性を提供することが重要��ある。
-
AWS Step Functions向けの可観測性を提供する新機能
最近、AWSは、Step Functions向けのステートマシンページの新たなオプトイン機能を発表した。開発者は、新しい実行ページオプションを有効にすることで、標準ワークフローをすばやく分析、デバッグ、最適化することができるようになった。
-
無限を表現する: 開発者にとって不可能なこと
開発者は、その日々の業務の中で、不可能なことに直面する場合がある。無限大を直接的に表現することや、あるいは物理的に独立したコンピュータ上に無限大の精度を保持することは不可能だ。ストレージや表現には限界があり、この不可能性を無視するか、あるいは意識するかによって、バグやシステムの挙動が期待とは異なるものになる可能性がある。Kelvin Henney氏はQCon London 2022で、6つの不可能(Six Impossible Things)について基調講演を行った。
-
Lyftにおけるマイクロサービステストの拡張と自動化
Liftは以前、エンドツーエンドのテストなど、いくつかの目的でクラウドベースの分離環境を使用していた。しかしながら、マイクロサービスの数が増えるにつれて、これらの環境を用いたテストでは拡張性が不足するようになり、次第に価値を失っていった。先日の記事では、Lyftが共有ステージング環境においてリクエスト分離を使用したテストへ移行し、運用デプロイメントのゲート管理に受け入れテストを使用するようになった経緯を紹介した。
-
Gradle7.4でテストレポートの統合へ
Gradleはオープンソースのビルド自動化ツールのバージョン7.4をリリースした。これにより、開発者は集約されたテストとJacocoカバレッジのHTMLレポートを作成できる。バージョンカタログ機能を使うと、ビルドスクリプトで使う依存関係を一元的に宣言できる。共有ビルドサービスを使うと、複数のタスク間で状態またはリソースをキャッシュできる。
-
GitHubが機械学習を使って脆弱性コードスキャンを拡張した方法
GitHubは、機械学習技術をルールベースのセキュリティコードスキャン機能に適用し、既存のルールから新しいルールを自動的に推測することで、あまり一般的ではない脆弱性パターンにその機能を拡張できることを期待している。