タグ付けされた質問 「testing」

そのシステムの予想される動作に対するソフトウェアシステムの動作の確認。

3
webappをデプロイするシステムのヘルスチェックの範囲はどのくらいですか?
今日、Webアプリを展開するオーケストレーションシステムである長期実行サービスの「ヘルスチェックを記述する」タスクがありました。 私はそのようなヘルスチェックの範囲が何であるかを決定しようとしていますが、ヘルスチェックの範囲に関連するこれらの質問を思いつきました: オーケストレーションシステムがタスクの実行を報告している場合、サービスが正常であると考えるのに十分ですか? または、各サービスを手動でpingする必要がありますか? または、さらに進んで、Webページを表示するなど、Webアプリケーションが本来行うべきことを確実に実行しようとする必要がありますか? ヘルスチェックでは、いくつかの依存サービスも実行されていることも確認する必要がありますか?データベースまたはオーケストレーションシステム自体のように。または、それは別のヘルスチェックの責任ですか? そして最後に、依存サービスの1つが停止し、その後Webアプリが失敗した場合、WebアプリはWebアプリの障害ではないため、健康状態が悪い、または健康状態を報告する必要がありますか? これらは5つの個別の質問であることがわかっていますが、これらはすべて、Webアプリを展開する長期実行サービスのヘルスチェックの範囲に関連しているため、1つの質問にグループ化しておく方が理にかなっていると思いました。 健康なものの定義や、このようなものの標準的な健康チェックがどのように見えるべきかがわからないため、これを実装するのは困難です。 この特定のサービスのヘルスチェックには何を含める必要がありますか?


4
統合テストの名前の選択
単体テストを使用すると、ドメインが非常に小さくなるため、簡単です。私はオセロベのmethodName_conditions_result()スキームを使用しましたが、それは非常に明確でした。 しかし、統合テストでは、非常に長い名前になると思いmethodNameます。代わりに何を入れますか?統合テストクラスに名前を付けるにはどうすればよいですか? 統合テスト名の実際の例は大歓迎です。答えがこれらのテストをよりよく理解するのにも役立つことを願っています。

2
ミューテックス実装のテストとベンチマークの方法
タイトルにあるように、C ++のmutexのさまざまな実装を適切にテストおよびベンチマークするにはどうすればよいですか? 基本的に、2つのコアarmv7で実行されるプロジェクトのstd :: mutexのようなクラスを作成し、競合しない場合のオーバーヘッドを最小限に抑えました。今、私は上記のミューテックスをより多くの場所と異なるアーキテクチャで使用することを検討していますが、これを行う前に、 それは実際に正しいです 標準のstd :: mutexよりもパフォーマンスが悪い病理学的なケースはありません。 明らかに、いくつかの基本的な単体テストとマイクロベンチマークを書いたので、すべてがうまくいくように見えますが、マルチスレッドコードでは「動作しているように見える」ので、それほど快適ではありません。 それで、確立された静的または動的分析技術はありますか? ミューテックスクラスの単体テストを記述する際の一般的な落とし穴は何ですか? 注目すべき典型的なエッジケースは何ですか? 実装には標準ライブラリタイプのみを使用します。これには、アトミックでの非一貫性のロードおよびストア操作が含まれます。ただし、他の実装にも同じテストハーネスを使用したいので、主に実装に依存しないアドバイスに興味があります。
12 c++  testing  mutex 

2
テストと仕様の違い
私はこの時点でコンセプトの問題があり、テスト(UnitTestなど)と仕様(Rspecなど)の違いに関する情報を見つけることができません。 私の知る限り、仕様は統合テストにあり、テストはUnitTestにありますが、それだけです。 違いは何ですか?

2
バックエンド開発者として、ソフトウェアテストを学ぶ必要がありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 ジュニア開発者として、航空業界向けのソフトウェアを開発する会社で働いています。テストチームがあるので、テストソフトウェアを学ぶ意欲はありません。私の友人は、小さな会社でバックエンド開発者として働いています。チームには特定のテストチームはなく、自分でテストを行います。バックエンド開発者はソフトウェアのテストについて学ぶ必要がありますか?
12 testing  backend 

2
特定のデバイスでのみ発生するエラーをトラブルシューティングする戦略
Android開発者として、私がアプリを作成する対象市場は非常に細分化されています。特定の要件を指定できます。たとえば、アプリはAndroidバージョンxx以降のみをサポートしますが、特定の1つの電話モデルでのみ明らかなエラーが発生する場合があります。 問題の電話を購入せずに、デバイス固有のエラーを処理する戦略はありますか?テスト用に一連の電話を維持していますが、2〜3人のユーザーが電話のモデルでのみ発生するバグがあると報告した場合、外出して新しい電話を購入する余裕はありません。 他のAndroid開発者が過去に同様の問題に遭遇したことは間違いないと思います。また、デバイス固有のバグを解消するのに役立つ費用対効果の高い戦略を知りたいと思います。 更新して、いくつかの詳細を追加します。 Bugsenseを使用してバグレポートをキャプチャするため、例外がスローされるたびに、電話機のモデル、スタックトレース、ユーザーに発生した回数、およびその他の詳細を知ることができます。 ユーザーは異なる国にいる可能性があるため、携帯電話を借りることができるとは思いません。 このようなシナリオを想像してください。100人のユーザーがアプリをインストールしましたが、ボタンを押すとボタンが適切に機能しないと3人が不満を言いました。私がテスト用に持っている電話のモデルはどれも問題を経験していません。問題のある携帯電話モデル用のエミュレーターはないようです。

5
ソフトウェアテストの形式化された/数学的な理論はありますか?
グーグルの「ソフトウェアテスト理論」は、言葉のソフトな意味での理論を与えるようだ。数学、情報理論、またはその他の科学分野の意味で、理論として分類できるものを見つけることができませんでした。 私が探しているのは、テストとは何か、使用される概念、テストケースとは何か、テストの実行可能性、テストの実用性、テストの範囲、正式な定義/説明コードカバレッジなど 更新:また、正式な検証と私が尋ねたものとの関係について、直感的にはわかりませんが、明らかに何らかの関係があります。

1
Djangoでのユニットテスト
私は大規模なDjangoプロジェクトの効果的な単体テストを書くのに本当に苦労しています。私はかなり良いテストカバレッジを持っていますが、私が書いてきたテストは間違いなく統合/受け入れテストであり、ユニットテストではないことに気付きました。これをできるだけ早く修正したいと思います。 これが私の問題です。私のスキーマは深いリレーショナルであり、非常に時間指向であり、モデルオブジェクトに高い内部結合と多くの状態を与えます。私のモデルメソッドの多くは、時間間隔に基づいてクエリを実行auto_now_addし、タイムスタンプ付きのフィールドで多くのことを行っています。したがって、たとえば次のようなメソッドを使用します。 def summary(self, startTime=None, endTime=None): # ... logic to assign a proper start and end time # if none was provided, probably using datetime.now() objects = self.related_model_set.manager_method.filter(...) return sum(object.key_method(startTime, endTime) for object in objects) このようなものをテストする方法はありますか? ここに私がここにいます。ユニットテストの目的には、その引数にいくつかの模擬動作を与える必要がありますが、正しい結果を生成するために正しくフィルタリング/集計されていますか?by key_methodsummary datetime.now()のモックは簡単ですが、残りの動作をどのようにモックできますか? フィクスチャを使用することもできますが、データを構築するためにフィクスチャを使用することの長所と短所を耳にしました(保守性が悪いことは、私にとっては当たり前のことです)。 ORMを使用してデータを設定することもできますが、関連するオブジェクトも作成する必要があるため、制限される可能性があります。また、ORMでは、auto_now_addフィールドを手動で変更することはできません。 ORMのモックは別のオプションですが、深くネストされたORMメソッドをモックするのが難しいだけでなく、ORMコードのロジックがテストからモックされるため、モックはテストをテストの内部と依存関係に本当に依存させるようですテスト対象機能。 クラックするのが最も難しいのは、このような関数であると思われます。これらの関数は、モデルのいくつかの層と下位レベルの関数にあり、これらの関数は非常に複雑ではないかもしれませんが、時間に非常に依存しています。私の全体的な問題は、どのようにスライスしたように見えても、テストはテストしている機能よりもはるかに複雑に見えることです。

6
システム自体の実装よりも機能テストの実装に多くの時間を費やしていますが、これは正常ですか?
基本的に、3つの主要なプロジェクトがあり、そのうちの2つはWebサービスで、もう1つはWebアプリケーションです。機能テストでWebサービスをできる限りカバーすることに満足していますが(3つのプロジェクトすべてに適切な単体テストがあります)、Webアプリケーションの機能テストの実装には多くの開発者時間がかかります。多くの場合、ユニットテストを含めてテスト対象の機能を実装するのにかかる時間は2回、場合によってはそれ以上になります。 マネージャーのポリシーは、ビジネスクリティカルではない場合(つまり、新しいCRUD)でも、追加するすべての機能をテストすることです。 すべてのWebサービス機能をテストすることに同意します。手動でテストするのは難しく、また、このテストは高速で実行され、実装するのにそれほど時間がかかりません。 それでは、システムコードの作成、単体テスト、QAチケットの修正よりも、機能テストの作成に多くの時間を費やすことの価値は何でしょうか。これは正常ですか?重要な機能についてのみ機能テストを作成し、重要な機能がない場合にQAに回帰テストを行わせてはいけませんか? 注:医療ソフトウェアやNASAソフトウェアを開発しているわけではありません。

4
実際の開発環境なしで自信を持って開発する
私は最近、いくつかのサードパーティ製の「エンタープライズ」システムとその周辺での作業を伴うプロジェクトに雇われました。私が想像するのは、実稼働環境の十分に忠実なレプリカを構築するために必要な天文学的なコストと労力であるため、実際の開発環境を持つ見込みは、ごくわずかにしか見えません。 これはもちろん理想的ではありません。明るい面では、このような複製不可能な環境にソフトウェアを安全にテストおよび展開している人々がいるはずであり、おそらく彼らの足跡をたどることができるでしょう。 このような状況に効果的に対処する人はどのようにそれを行うのでしょうか?

2
1つの実行可能ファイル内のすべてのユニットテスト、またはそれらを分割しますか?
ライブラリなどの1つのソフトウェアのテストを作成する場合、すべてのユニットテストを1つにコンパイルするのが好きですか、それとも複数の実行可能ファイルに分けるのが好きですか? 私が求めている理由は、現在CUnitを使用して、作業中のライブラリをテストしているためです。テストは個別のスイートに分割され、1つの実行可能ファイルにコンパイルされ、障害の印刷出力が完成します。現在、そのライブラリのビルドシステムはCMake(名前にもかかわらず、CUnitとはほとんど関係ありません)であり、独自のテストフレームワークCTestが付属しています。CTestを使用すると、テストとして機能する実行可能ファイルのリストを登録できます。 自動テストの実行にCTestを使用するかどうかを考えています。ただし、これには、これまでに作成したテストを別々のコンパイルターゲットに分割する必要があります。そうしないと、テストの選択的な実行など、CTestsの高度な機能の一部を実際に利用できません。 これは、どのツールを使用するか、それらの処理と規則の問題であることがわかりますが、それとは別に、単一のテスト実行可能ファイルを個別のテスト実行可能ファイルよりも好む他の理由はありますか?またはその逆?

1
ソフトウェアのテスト方法と開発者の生産性との関係に関する調査はありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 ソフトウェアテストプラクティス(単体テストや統合テスト)と開発者の生産性との関係に関する調査はありますか?

3
Javascriptで何をテストする必要がありますか?
仕事では、Javascriptベースのアプリケーション(実際はCoffeescriptを使用していますが、それでも)を開始したばかりで、その中にJsTestDriverとファブリックを使用した自動テストシステムを実装しています。 これほど多くのJavascriptを使用して何かを記述したことはないため、これまでJavascriptのテストは行っていません。私たちがユニットテストで何をテストすべきか正確にはわかりません。私たちはさまざまなことのためにJQueryプラグインを書いたので、JsTestDriverで可能な限り正しいことを検証する必要があることは非常に明白ですが、私のチームの他の誰もがページレベルのJavascriptもテストする必要があると考えているようです。 単体テストとしてページレベルのJavascriptをテストする必要はないと思いますが、代わりにSeleniumなどのシステムを使用して、すべてが期待どおりに動作することを確認します。私の主な理由は、現時点では、ページレベルのJavascriptテストはJsTestDriverを介して失敗することが保証されているためです。 それでは、Javascriptで単体テストを行うべきものは何ですか?

11
開発者は、Excelマクロによって実行されるワークロードの見積もりを受け入れる必要がありますか?
新しいプロジェクトでは、友人がテストを作成する必要がありました。テストの作成に必要な時間は、開発者以外のマネージャーが作成したExcelマクロによって計算されました。 そのような状況では、開発者は計算された時間内にテストを記述して実行する責任を受け入れる必要がありますか?これらのテストの結果は信頼できるものですか? 情報については、私の友人は、自分が行っていない推定に対する責任を拒否し、別のプロジェクトで成功するように頼み、経験の浅い学校外のイエスに置き換えられました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.