前回から
前回から大分時間が空いてしまいましたが、2回目です。
前回では誰も評価しない、振り返らない無価値なテストぐらいやることがないので、QAエンジニア気取りでテスト自動化を目指していこうというお話でした。
ただ、.Net Framework 2.0というレガシーな開発環境であるため、VisualStudioでMSTestのようなテストフレームワークが使用できないという問題に直面しました。
そこでUIテストを何とか構築できないかを模索していました。
ChatGPTの力
結論から申し上げると、ユニットテストに関してはバージョン2.6.3以前のNUnitを使用すればなんとか動かせそうであることが判明しました。
当初は独力であれこれ検討していたのですが、どれも上手く行かずに頓挫していました。以下検討した内容です。
・ローカルPCにVSCodeをインストールしてコマンドライン上でテストする。
・ローカルPC(windows10)にVisual Studio 2022 をインストールして(ライセンス違反)、そこでMSTestを使用する。
・上と同じくVisual Studio 2022をインストールして、同じロジックのプログラムを作成してそれをテストする(最早ヤケクソ)
どれのこれも強引な手段だったので、上手くいかず途方に暮れていました。結局のところ、ChatGPTに投げてみたら速攻で解決しました。
あれこれ数日かけて悩んでいたことが瞬時に解決してしまい、もはや笑うしかないですね。
実際のところ、.Net Framework2.0に対応しているテストフレームワークがインターネット上で取得できるとは思っていなかったんですよね。なので無駄に遠回りな検討してしまいChatGPTでもそんな感じの質問ばかりでした。
UIテストも検討していましたが保留してこちらに集中ですね。
今後の方針
といってもそのままNUnitでテストコードを書いて実行できませんでした。既存コードは密結合すぎでどうにもなりませんでした。
なので自動テストをどうやって導入するには、今のレガシーなコードや構成では現実的ではないのでアーキテクチャから見直す必要があります。要はリファクタリングをする必要があります。
リファクタリングをするために自動テストを導入したいのですが、これではほんで自動テストをどうやって導入するには、今のレガシーなコードや構成では現実的ではないのでアーキテクチャから見直す必要があります。要はリファクタリングをする必要があります。リファクタリングをするために自動テストを導入したいのですが、これでは堂々巡りですね、、、。
というわけで、各機能の全量テストケースを洗い出して、手動でリグレッションテストをできるようにしなければいけないですね、、、。
必要な作業から考えると先が思いやられますね、、、。
早く転職したい

コメント