LoginSignup
1
0

最近学んだテスト手法

Last updated at Posted at 2023-07-01

※社内共有向けにざつーに書いたので、限定共有投稿とします。予告なーく削除したり変更したりします。

はじめに

勉強会で最近知ったテスト手法を紹介します。
Swiftの記事を中心に載せますが、KotlinやJavaでも適用できるものが多いです。

パラメタライズドテスト

予めテストデータ(パラメータ)を列挙するテスト手法。
Go言語では「テーブル駆動テスト」と言われ、一般的に使われている。
JUnit5でも標準でサポートされている。
(iOSの場合)サポートされていないので、スライドを参考に工夫する必要がある。

メリット

  • テストデータの追加や削除がしやすい
  • 見通しがよくなる

これでメソッドの引数を変えただけのテストメソッドが増殖されることがなくなる。
積極的に取り入れていきたい!

スナップショットテスト

画面のスクリーンショットを撮り、予め用意した画像(リファレンス画像)と差異がないか確認するテスト手法。

主に以下をテストできる。

  • 端末やOSごとの表示崩れ
  • 表示状態の組み合わせ
  • 異常系の表示

撮ったスクリーンショットをそのまま画面カタログとして使うこともできる。

(iOSの場合)XCUITestでなくXCTestで行えるのが強み。

UIテストをがっつり書いている場合は不要かな、、
構造上UIテストを書けなかったり、UIテストの実行時間やFlakyが気になったりする人向けという認識でいいかも。

Viewのテストをどう行うかについては↓のやりとりを追うといいかも。

プロパティベースドテスト

テスト対象メソッドの性質(プロパティ)をアサーションに定義し、パラメータをランダムに渡すテスト手法。

正直まだよくわかっていない、、
これからスライドを読み直したり、SwiftCheckの公式ドキュメントを読んだりしようと思う。

おわりに

DeNAのSWETチームつおい。
そしてiOSテスト全書の発売が待ち切れない。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0