久しぶりに技術的な記事を連載したいと思います。テーマは「GeneXusでDevOps」。DevOps自体の説明は省略しますが、もともとGeneXusはアジャイルの思想を強く意識しており、世の中がアジャイル開発→継続的インテグレーション(CI)・継続的デリバリ(CD)→DevOpsと方法論やツールが広がる中、GeneXus自体も機能の追加が行われてきました。
当ブログでも今までビルドやデプロイに関する記事は書いてきましたが、GeneXus16が正式リリースされましたので、最新情報を元に再度構成し直してお送りしたいと思います。
1.バージョン管理
2.ビルド
3.デプロイ
4.CIツールとの連携
5.テスト
乞うご期待下さい。
ツールが全ての問題を解決してくれるわけではない。 でも、ツールは本来人がやらなくても良い作業を効率的に行ってくれる。 そして、人は人にしかできない事により注力すべき。 つまり、それがクリエイティビティ(創造性)。 システム開発におけるクリエイティビティを高めるお手伝いをしています。
2019年5月13日月曜日
2008年9月25日木曜日
テストソリューション
さまざまなセッションの中でGenexusを使った開発でのテストに関するソリューションがありましたので、ここで紹介します。
・GxTest

Abstracta社の製品で、モデルベースのテスト製品です。
この製品はGeneXus XのExtension(拡張モジュール)ではなく、独立したアプリケーションです。
テストケースごとにキャンバスに画面遷移をモデル図として描き、そのモデルに従ってテストが自動で行われます。

テストの結果はこのようなレポート画面として出力されます。


もう一つテスト系ソフトを。
こちらは単体テスト用のExtensionです。
GxUnitではプロシージャオブジェクトを対象にブラックボックステストを行うテストツールです。

テスト対象となるプロシージャを指定すると、そのインターフェイス(Parmルール)を読み取って、インプット値をセットする項目が設定されます。

テストケースごとにインプット項目に値を設定し、テストを実行するとケースごとにテストが行われ、結果が記録されます。

レポートもこのように表示されます。

一般の開発ですと、xUnit(JUnitやNUnitなど)が単体テストのフレームワークとして普及していますが、それと同様のテストがこのGxUnitにて可能になるわけです。
単体(Unit)テストについて補足を・・・
もともとXP(エクストリーム・プログラミング)では、
というポリシーがあります。
実際にはテストファースト(プログラムコードの前にテストコードを書く)というのもありますが、ここでは割愛します。
日本においては、「自動化」という言葉にどうしても抵抗感がある方々がいますが、上記のようにXPの世界では、自動化自体は目的ではなく、自動化することにより
といった事を狙っています。
・GxTest
Abstracta社の製品で、モデルベースのテスト製品です。
この製品はGeneXus XのExtension(拡張モジュール)ではなく、独立したアプリケーションです。
テストケースごとにキャンバスに画面遷移をモデル図として描き、そのモデルに従ってテストが自動で行われます。
テストの結果はこのようなレポート画面として出力されます。
- GxUnit
もう一つテスト系ソフトを。
こちらは単体テスト用のExtensionです。
GxUnitではプロシージャオブジェクトを対象にブラックボックステストを行うテストツールです。
テスト対象となるプロシージャを指定すると、そのインターフェイス(Parmルール)を読み取って、インプット値をセットする項目が設定されます。
テストケースごとにインプット項目に値を設定し、テストを実行するとケースごとにテストが行われ、結果が記録されます。
レポートもこのように表示されます。
一般の開発ですと、xUnit(JUnitやNUnitなど)が単体テストのフレームワークとして普及していますが、それと同様のテストがこのGxUnitにて可能になるわけです。
単体(Unit)テストについて補足を・・・
もともとXP(エクストリーム・プログラミング)では、
- 単体テストを自動化する
- 単体テストはブラックボックステストにする
- インターフェイス(パラメータ)が変わらない間は何度でも(しかも自動で)テストが可能
- よって、(テスト対象となるモジュールの)ソースコードはどんどん変更してもよく
- 一度テストが通ったコードでも、きれいに書き直す - リファクタリング - を推奨する
というポリシーがあります。
実際にはテストファースト(プログラムコードの前にテストコードを書く)というのもありますが、ここでは割愛します。
日本においては、「自動化」という言葉にどうしても抵抗感がある方々がいますが、上記のようにXPの世界では、自動化自体は目的ではなく、自動化することにより
- 繰り返し(手間無く)テストが可能
- ビックバンテストではなく、ちょっと作ってすぐテストが可能(常に動作し、テストにパスしているコード)
- テストを行えば、結果(エラーが)がすぐわかるので、ソースコードの修正を推奨し、誰が見てもわかりやすいソースを目指すことができる
といった事を狙っています。
登録:
投稿 (Atom)
