Describe a hypothetical software engineering-related


Part 1: Testing

Part 1A

Your Task: In your own words describe the relationship between unit, integration, regression and system testing.I am NOT looking for just definitions but an understanding of how these topics are related.

Part 1B

Background:The class diagram shown in Figure 1 below (courtesy of https://www.indiastudychannel.com/resources/150271-UML-Diagrams-case-studies-Library.aspx)models a library management system and the transaction done there every day. There is background information provided at the link under the "Case Study 1 Problem Statement". For 1B you may make assumptions about the functionality shown in the class diagram in Figure 1; these assumptions MUST be documented under this section.

Your Task: For this class diagram clearly define:
- 12unit tests
- 7integration tests
- 1 system test

For the integration and unit tests you may submit either a description of each test or pseudocode. All pseudocode must be commented.

Part

Hints:

1. Make sure to provide a goal for each test along with the expected result(s).
a. Remember to test that your system passes when it should AND fails when it should.
2. Make sure to describe how your system tests should be run.
3. Make sure you answered ALL parts to each question!

Part 2: Making the Connection
Background:Testing, Continuous integration, managing change, configuration management, version control, maintenance, evolution and deployment are concepts that are vital to the software engineering process. Failure to understand them and the relationships/dependencies between each topic can cause significant issues on or failure of a software project. For example - "Software maintenance and evolution occur after deployment of the software solution"or "not tagging the repo when version is deployed can make maintenance challenging..."

Part 2 of the final allows you to: 1) demonstrate your comprehension of these topics, 2) show that you understand the connections/dependencies between the topics and 3) understand situations in which they might be used.

Note: When I mention "section title concepts or topics" in Part II questions, I am referring toContinuous integration, managing change, configuration management, version control, maintenance, evolution and deployment.

Your Task: Describe a hypothetical software engineering-related situation where ALL of the Part 2 section title concepts would be used. Be certain to show that you understand what the topics mean, how they are related, and how they would be applied to your scenario. Your essay should be approximately two pages single-spaced. Section Title concept (terms only) from the Part II Background information MUST be underlined.

NOTE: This example is to be of your own creation; it cannot be related to ANY example provided online, from this course (current or past semesters) or another student.

Hints:
- Did you demonstrate:

o a good understanding of each topic (not just a definition)

o a good understanding of how these topics are related and depend upon one another

o a good understanding of issues that can occur if they are not used correctly

o how using or not using these topics correctly helped/hurt your team project
- Hint: Maintenance and Evolution are NOT the same thing!
- Did you clearly describe a situation where all these topics would be applicable?
- Did you demonstrate your understanding of how the Part II section title concepts, how they are related, and dependencies between them and how they are applied?
- You should be using the section title concepts in your response - make sure to address ALL of them!

o Here is an excerpt from an example scenario which includes several of the topics - "...a bug was found after the version 1.0 release was deployed to the client site so our CM team made a branch in our subversion (VC) repo to support the hotfix..."

Note: This section will be graded out of 20 points and will be converted to the equivalent percentage value out of 3%. So, for example, if you get 10/20 you will get 1.5% extra credit OR if you get 20/20 you will get 3% extra credit.

1.

a. In your own words, define the hybrid form of top-down and bottom-up integration testing.

b. Devise a simple example that shows your understanding of the topic.

2. True of False. For each ‘true' statement briefly define the main topic of the statement, and foreach ‘false' statement, briefly state what is incorrect. (Note: failure to include justification of your response will result in no credit for that item.)
a. While accommodating change is challenging when using the waterfall model, one of its major pros is that it facilitates periodic deliveries to the client for feedback.
b. Your development and production deployment environments are always the same.
c. Testing should begin after development is complete.
d. A good version control system will only allow software engineers to see changes made per file.
e. Regression testing always requires that all previous tests be re-run to ensure nothing was broken when a change is made.
f. Requirements are almost certain to change throughout a software project.

3. Briefly discuss why process (in general) is a crucial part of producing a high-quality product.Make sure you use the generic software development lifecycle terminology in your description.

Solution Preview :

Prepared by a verified Expert
Software Engineering: Describe a hypothetical software engineering-related
Reference No:- TGS02276694

Now Priced at $45 (50% Discount)

Recommended (92%)

Rated (4.4/5)