OutSystemsアプリケーションのテスト
目次
OutSystemsはインタプリタ駆動型のローコードプラットフォームとは異なり、100%標準のコーディングフレームワークを使用してアプリを生成します。フロントエンドではリアクティブWebまたはReact JSが生成されますが、サーバー側では標準のWebスタックが生成されます。
OutSystemsのビジュアル開発手法によりアプリケーションロジックとフローがわかりやすくなり、また継続的に完全性を検証するビルトイン機能がプラットフォームに組み込まれていることから、他のテクノロジーと比べてバグの発生件数が大幅に少なくなります。テストには業界標準のツールを使用しますが、テストと修正のサイクルが短縮されるため、開発の工数を大幅に削減し、アプリのデリバリーが加速します。
ただし、テストがアプリ開発にとって必要なステップであることには変わりません。テスタビリティを考慮した開発を行うために、チームはベストプラクティスを意識する必要があります。
テストの自動化のベストプラクティス
OutSystemsアプリケーションには業界のあらゆるテスト方式を適用できますが、アプローチによっては効果に差が出ます。現場での長年の経験をもとにOutSystemsが作成したガイドラインをご覧ください。
このガイドラインでは、複数のタイプのテストに関するベストプラクティスを確認できます。これにより、取り組みやすいテストから着手し、他のテスト方法にも準備ができ次第徐々に取り組んでいくことができます。
コンポーネントテストまたは単体テスト
コンポーネントテストまたは単体テストでは、アプリケーションの細部を個別に検証できます。このアプローチは、特にビジネスサービスコンポーネントに効果的です。回帰テストは自動化された簡素なものであるため、システムの変更やリファクタリング時に優れた単体テストがあると非常に便利です。
統合テストとAPIテスト
統合テストとAPIテストでは、主にアプリケーションの各要素の連携を検証します。ごく小規模で簡単なテストケースから大規模で複雑なテストケースまで、様々なテストを設計できます。このアプローチは、開発サイクルの異なる多くの要素で構成される、計算エンジンなどの複雑なシステムで特に有効です。
機能(UI)テスト
機能テストとは、アプリケーションに含まれるすべてのコンポーネントを、ユーザーストーリーでの一般的な機能要件に照らして検証する作業です。モバイルアプリに特化したテストガイドラインも用意しています。
テストデータ
現実に即したテストデータの作成には多大な労力を要するため、OutSystemsではテストデータの管理に関する一連のガイドラインを提供しています。OutSystemsは外部ベンダーともの提携によりしているため、本番環境からテスト環境にへデータをコピーすることも可能です。詳細については、トピック「データ移行のサポート」をご覧ください。
外部テストツール
市販のツールの多くは、単体テスト、回帰テスト、機能(ユーザーストーリー)テスト、統合テスト、負荷テストに使用できます。
テストの自動化によるCI/CDの改善
テストの自動化は、適切に行った場合、開発中のアプリケーションの品質に大きな影響をもたらします。テそのためには、DevOps用語で一般に「垂直チーム」と呼ばれる部門横断的なチームを設置する必要があります。テストの自動化をCI/CDパイプラインに簡単に組み込む方法については、OutSystemsのテストの自動化に関するオンラインヘルプをご覧ください。