Computer Science Homework Help
Computer Science Homework Help. Module Four Milestone
Overview
You are a senior software developer on a team of software developers who are responsible for a large banking web application. Your manager has recently learned about the best practice of creating unit tests for software and wants to see a full example of how it works. Another developer on the team started creating a unit test for the std::vector
Key Concepts
- Positive tests prove that functionality works when tested. For example,
Test(1+1) = 2
. - Negative tests prove that an error or exception happens when provided bad data. For example,
Test(5/0) => Divide By Zero
.
The following are some essential notes:
- The source code has been commented using TODO to explain the detailed rules you must follow.
- You are provided the situation to create 13 unit tests, of which 11 are defined for you and 2 you will need to define.
- You only need a minimum of 2 negative tests, but can do more.
- Test names should reflect the purpose of a test. For example, to test that a number is positive, the test name would be something like
EnsureNumberIsPositive
. - Do not confuse the
C++ assert / static_assert
with the Google TestASSERT
andEXCEPT
.- When should you use the
EXPECT_xxx
orASSERT_xxx
macros?- Use
ASSERT
when failure should terminate processing, such as the reason for the test case. - Use
EXPECT
when failure should notify, but processing should continue.
- Use
- When should you use the
- There are multiple ways to validate the test results, but each test must explicitly prove the defined condition of the test.
- Do not forget that you can leverage capabilities provided by the standard C++ library to help you achieve success.
You will learn to do the following:
- Name unit tests correctly
- Compile and run a Google unit test fixture
- Extend Google unit test fixture with a number of positive and negative tests
- Prove the test results
Prompt
Test the existing source code in the test.cpp file using the Google unit testing framework. Include a brief written summary of the process you used, the issues you found, and how you managed the issues.
Specifically, address the following in a static testing summary:
- Unit Test Names: Define all unit test names to appropriately reflect the test condition.
- Unit Testing: Successfully implement the 13 unit tests, as part of the Google Test fixture; run Google Test
ASSERT
andEXPECT
functionality to prove the tests. Each test you run must explicitly prove the defined condition of the test. - Negative Unit Tests: Complete at least 2 of the unit tests as negative tests that demonstrate capturing the appropriate unit test result based on an expected negative result of the test code.
- C/C++ Program Functionality and Best Practices: Demonstrate industry standard best practices, including in-line comments and appropriate naming conventions to enhance readability of code. Develop functional C/C++ code that illustrates a software design pattern approach.
- Process Summary: Provide a summary of the debugging that is thorough and systematic, including specific types of bugs, and that accurately describes the corrections.
To complete this assignment, download the test.cpp file and use the Google Test Guide as guidance as you move through the activity. You will use your development environment to complete this activity. Google Test has a number of resources online, including the following:
Guidelines for Submission
Submit the completed source code as a ZIP file. Also include a Word document that contains a screenshot of the unit test run results (console application or the Visual Studio test explorer) and your brief process summary.
Computer Science Homework Help
"Our Prices Start at $11.99. As Our First Client, Use Coupon Code GET15 to claim 15% Discount This Month!!"
![](https://courseworkgeeks.com/wp-content/uploads/2018/08/order_now-1.png)