プロジェクト | コンテンツ |
---|---|
この作品は、コースに属し | 2020年コンピュータソフトウェア工学研究所(ロジャー・レン建) |
どこの仕事でこの要件 | ツイニングプロジェクト作業 |
クラスを教えます | 006 |
プロジェクトアドレス |
1. PSPテーブル
PSP2.1 | パーソナルソフトウェアプロセス段階 | 推定時間がかかる(分) | 実際の時間がかかる(分) |
---|---|---|---|
プランニング | 計画 | ||
・見積り | •このタスクが必要と推定どのくらいの時間 | ||
開発 | 開発 | ||
・分析 | (新しい技術を学ぶ含む)・ニーズ分析 | ||
・デザインスペック | 設計ドキュメントの生成 | ||
・デザインレビュー | ・デザインレビュー(と彼の同僚は、設計文書を見直し) | ||
・コーディング標準 | ・コードの仕様(現在の開発のための適切な規範の開発) | ||
・ 設計 | ・具体的な設計 | ||
・コーディング | ・具体的なコーディング | ||
・コードレビュー | ・コードレビュー | ||
・テスト | ・テスト(セルフテスト、コードを変更し、変更を提出) | ||
報告 | レポート | ||
・ 試験報告書 | ・テストレポート | ||
・サイズ測定 | ・コンピューティングのワークロード | ||
・死後&プロセス改善計画 | ・後知恵、およびプロセス改善計画を提案します | ||
トータル |
4.設計と計算モジュールインタフェースの実現
計算モジュールインタフェース部6のパフォーマンスの改善
契約&コード契約7.デザイン
8.ユニットテストカバレッジ
どこVS2017エンタープライズ:(ツールを使用してコードカバレッジ)は、コードカバレッジを生成し、
プロジェクトのための細胞ベースのテストカバレッジ\(93.07 \%\) Circleクラスのカバレッジのため、\(100 \%\)線のカバレッジに基づいて、\(98.5 \%\) 。
私たちは、テストおよび機能に異常のためのテストを設定しました。
機能テストのために、我々は、通常の条件下で、いくつかの機能円、線、線分と光線の機能をテストするだけでなく、いくつかの特別な状況下でテストケースを構築し、等
// 射线 圆 内部相交
PlaneContainer pc;
pc.insert(new Circle(0, 0, 2));
pc.insert(new Line(1, 0, 2, 2, RL));
int count = pc.countIntersectionPoints();
Assert::AreEqual(count, 1);
// 射线 射线 一个交点
PlaneContainer pc;
pc.insert(new Line(0, 0, 1, 1, RL));
pc.insert(new Line(0, 0, -1, -1, RL));
int count = pc.countIntersectionPoints();
Assert::AreEqual(count, 1);
// 精度测试
PlaneContainer pc;
pc.insert(new Line(0, -100000, 1, 100000, SL));
pc.insert(new Line(0, 0, 0, 1, SL));
pc.insert(new Line(0, -99999, 1, -99999, SL));
int count = pc.countIntersectionPoints();
Assert::AreEqual(count, 3);
そして、異常なテストケースのために、次のように:
异常