Help us understand the problem. What is going on with this article?

XCTestのTimeoutの値はどのように決まるか?

More than 3 years have passed since last update.

はじめに

勉強会で、XCTest入門の発表中に出た疑問です。

http://qiita.com/okuderap/items/e02b73880b8bc499debe

この中である、

waitForExpectationsWithTimeout

の値です。

答え 設計をもとに決める。

メソットのタイムアウト値のテストなので、そのメソットが利用される
プログラムに与えられた、非機能要件の範囲で決まってきます。

たとえば・・・

非機能要件で、画面遷移を0.5秒以内とする。

としていて、

  • 画面描画
  • APIアクセス
  • データ加工
  • その他の処理

という処理があったとします。

その場合、

  • 画面描画に  ・・・0.1秒
  • APIアクセスに・・・0.2秒
  • データ加工に ・・・0.1秒
  • その他の処理に・・・0.1秒 (バッファー)

というような割り当てをして、

「APIアクセス」のメソットの タイムアウト値は、0.2秒でテストを行います。

ちなみに・・・

開発環境と本番環境では、APIのスペックが違うこともあります。
その場合には、本番環境と開発環境のパフォーマンス差の係数をだして、
タイムアウトの設定値とします。


 本番環境 0.2秒
 開発環境 0.4秒

 係数は、2になる。
 「APIアクセス」のメソットの 要件上のタイムアウト値は、0.2秒なので、
 設定値は、 0.2 x 2 で、0.4 となる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away