APIテストサービス
REST、GraphQL、gRPC、イベント駆動システム向けのAPIテストサービス。Postman、REST Assured、コードによる機能テストと回帰テスト、Pactによるコントラクトテスト、OpenAPIスキーマの検証、サードパーティをモックにした統合テスト、APIのセキュリティと負荷の確認を提供します。専任のAPIテストエンジニアが御社のチームに参画する形も、APIテストプロジェクトを一括で請け負う形も選べます。
APIテストの対応範囲
APIの機能テスト
すべてのエンドポイントについて、ステータスコード、レスポンスボディ、ヘッダー、検証エラー、ページネーション、ロールごとの権限を確認します。APIが新しいうちは、Postman、Bruno、Insomniaで探索的に確認します。
パイプラインに組み込むPostmanコレクション
コレクションを機能ごとに整理し、環境、プリリクエストスクリプト、アサーションを備えます。Postman CLIでビルドごとに実行し、結果をビルドの隣に公開します。
コードで書くAPIテストスイート
JavaチームにはREST AssuredまたはKarate、PythonにはHTTPX付きのpytest、.NETにはHttpClient付きのxUnit、TypeScriptにはPlaywrightのリクエストAPIまたはSuperTestを使い、サービスのコードと並べて管理し、一緒にレビューします。
Pactによるコントラクトテスト
Webフロントエンド、モバイルアプリ、サービスの間で、Pactによるコンシューマー駆動コントラクトを定義し、プロバイダー側のビルドで検証して、Pact BrokerまたはPactFlowで共有します。これにより、破壊的変更は、それを加えたチーム自身のビルドを失敗させます。
OpenAPIとスキーマの検証
レスポンスをOpenAPIまたはJSON Schemaの定義に照らして検証し、仕様書をSpectralでリントします。さらにSchemathesisが仕様書からリクエストを生成し、サーバーエラーを引き起こす入力を見つけ出します。
実際の依存先を使った統合テスト
サービスをデータベース、キャッシュ、メッセージブローカーとともにTestcontainersで起動し、テストごとにデータを投入して、モックのデータベースではなくAPIを通じてフロー全体を確認します。
モックとサービス仮想化
サードパーティや未完成のサービスをWireMock、Mock Service Worker、Microcksで置き換えます。これにより、パートナーのサンドボックスがなくてもテストを実行でき、実際には再現しにくいタイムアウト、レート制限、エラーレスポンスも確認できます。
GraphQL、gRPC、メッセージのテスト
GraphQLのクエリ、ミューテーション、フィールド単位の認可を確認し、grpcurlと生成したクライアント経由でgRPCサービスを呼び出します。Kafka、RabbitMQ、Azure Service Busのメッセージは、スキーマ、順序、重複を確認します。
APIのセキュリティと負荷の確認
認証、オブジェクト単位の認可、入力検証、レート制限を、回帰テストのたびにOWASP API Security Top 10に照らして確認し、リリース前にはk6で負荷時の応答時間を計測します。
APIテストエンジニアを採用する
専任のAPIテストエンジニア
御社のチームにフルタイムで参画し、御社のツールとプロセスの中で働き、御社のリードに報告するAPIテストエンジニアです。面接は御社が行い、ウクライナでの雇用契約、給与支払い、請求書発行、休暇管理は当社が担います。
APIテストプロジェクト
スコープと固定の計画が定まったAPIテストの一区切りの業務です。当社側の担当リードが成果に責任を持ち、進捗は御社のチャネルで報告します。
継続的なAPIテスト
APIテストを継続サービスとして提供します。毎月同じメンバーが担当し、優先順位は御社がバックログで決め、稼働時間は当社のポータルと請求書で確認できます。
スペシャリストが御社のチームに参画する方法は専任チームのページで、プロジェクトのデリバリー、引き継ぎ、料金の考え方はアウトソーシングのページで説明しています。
御社のAPIテストを担当するメンバー
APIテストエンジニア
コレクション、コードによるスイート、コントラクトテスト
バックエンド開発者
テストしやすいAPI、プロバイダー側の検証、修正
テスト自動化エンジニア
フレームワークとCI連携
パフォーマンスエンジニア
利用の多いエンドポイントの負荷テスト
APIテストの進め方
APIテストは高速で安定しているため、回帰テストの大半を担います。プルリクエストごとに数百件の確認が数分で終わり、ブラウザのスイートには画面が必要な導線だけを残します。テストは仕様書とビジネスルールから書くため、フィールドが消えた場合だけでなく、意味が変わった場合も検出できます。
各テストはAPIを通じて自分のデータを作成し、終了後に削除します。そのため、実行同士が依存し合うことも、誰かが手で編集した共有データベースに左右されることもありません。テスト環境の認証情報はパイプラインのシークレットストアから取得し、リポジトリにコミットしたコレクションファイルには含めません。
その他のソフトウェアテストサービス
手動テスト
手動テストサービス:機能テスト、回帰テスト、探索的テスト、テストケース設計、クロスブラウザ・クロスデバイスのテスト、UAT支援を、専任の手動QAエンジニアまたはプロジェクト単位でご提供します。
テスト自動化
テスト自動化サービス:Playwright、Selenium、Cypress、WebdriverIOのテストスイート、SDETの業務、APIテストとビジュアルテスト、CI連携を、専任のテスト自動化エンジニアまたはプロジェクト単位でご提供します。
モバイルアプリのテスト
モバイルアプリのテストサービス:実機とデバイスファームでのiOS・Androidテスト、Appium、Espresso、XCUITest、Maestroによる自動化、ストアリリース前の確認を、専任のモバイルQAエンジニアまたはプロジェクト単位でご提供します。
パフォーマンステスト
パフォーマンス・負荷テストサービス:k6、JMeter、Gatling、Locustによる負荷テスト、ストレステスト、ソークテスト、ボトルネック分析、キャパシティプランニング、Core Web Vitalsを、専任のパフォーマンスエンジニアまたはプロジェクト単位でご提供します。
アクセシビリティテスト
アクセシビリティテストサービス:WCAG 2.2の監査、スクリーンリーダーとキーボードのテスト、CIでのaxeチェック、是正支援、適合レポートを、専任のアクセシビリティテスターまたはプロジェクト単位でご提供します。
APIテストに関するご質問
APIテストエンジニアは、どの業界で働いていますか。
主にフィンテックと銀行で、決済、元帳、オープンバンキングのAPIはリリースごとに証跡が必要です。ほかに、カタログ、注文、パートナー連携を持つECとマーケットプレイス、公開APIと多数の連携を持つエンタープライズSaaSとERP製品、臨床システム間のHL7 FHIRインターフェースを扱うヘルスケア、多数のサービスで構成される通信、クラウド、物流プラットフォームがあります。
Postmanとコードのテスト、どちらを使いますか。
どちらにも役割があります。Postmanは、新しいAPIを探索し、動作するリクエストをチームで共有するのに向いています。APIが固まってきたら、確認をサービス自身の言語のコードに移します。コードならプルリクエストでレビューでき、サービスのモデルを再利用でき、ユニットテストと一緒に実行できます。
コントラクトテストで何が得られますか。
APIテストは、サービスが自分のチームの期待どおりに動作することを確認します。コントラクトテストは、各コンシューマーが実際に使っているものを引き続き返しているかを確認します。そのため、フィールド名の変更や型の変更は、モバイルアプリや他のチームのサービスを本番で壊す前に、プロバイダーのビルドを失敗させます。
APIテストエンジニアは、どのくらいで開始できますか。
適任のAPIテストエンジニアがすぐに対応可能な場合、開始までの条件は、御社の面接と、NDAおよび知的財産権の譲渡契約の締結のみです。そうでない場合は人材を探索し、通常は2〜3週間以内に候補者のプロフィールをお出しします。御社が承諾するまで、誰も業務を始めません。
BigTree108を通じてAPIテストエンジニアを採用するには、どうすればよいですか。
必要な業務内容、シニアリティ、稼働時間をお知らせください。1〜2名の候補者をプロフィールとともにご提案し、御社が自社で採用する場合と同じ形で面接を行います。契約はBIG TREE 108 LLCとの1本、請求書は月1通です。
成果物の権利は、誰に帰属しますか。
御社です。すべてのスペシャリストはBigTree108と署名済みの契約を結び、成果物のすべてを会社に帰属させています。さらに、御社との契約により、その権利は御社に引き継がれます。コード、デザイン、ドキュメントは、当社だけが変更できる場所ではなく、御社のリポジトリとツールに納品します。
APIのテストが必要ですか。
運用しているサービスの数、APIのドキュメント化の状況、APIの呼び出し元をお知らせください。1営業日以内に、テスト計画、候補者のプロフィール、または既存のAPIテストのレビューのスコープをご回答します。