UNIT-4 CC
UNIT-4 CC
1. Unit Testing: In the V-Model, Unit Test Plans (UTPs) are developed
during the module design phase. These UTPs are executed to eliminate
errors at code level or unit level. A unit is the smallest entity which can
independently exist, e.g., a program module. Unit testing verifies that the
smallest entity can function correctly when isolated from the rest of the
codes/ units.
2. Integration Testing: Integration Test Plans are developed during the
Architectural Design Phase. These tests verify that groups created and
tested independently can coexist and communicate among themselves.
3. System Testing: System Tests Plans are developed during System Design
Phase. Unlike Unit and Integration Test Plans, System Tests Plans are
composed by the client’s business team. System Test ensures that
expectations from an application developer are met.
Incremental Model-
3. Testing: In the incremental model, the testing phase checks the performance
of each existing function as well as additional functionality. In the testing phase,
the various methods are used to test the behaviour of each task.
Spiral Model-
1. Planning- The first phase of the Spiral Model is the planning phase,
where the scope of the project is determined and a plan is created for the
next iteration of the spiral.
2. Risk Analysis- In the risk analysis phase, the risks associated with the
project are identified and evaluated.
3. Engineering- In the engineering phase, the software is developed based
on the requirements gathered in the previous iteration.
4. Evaluation- In the evaluation phase, the software is evaluated to
determine if it meets the customer’s requirements and if it is of high
quality.
5. Planning- The next iteration of the spiral begins with a new planning
phase, based on the results of the evaluation.
Agile Model-
1. Requirements gathering
2. Design the requirements
3. Construction/ iteration
4. Testing/ Quality assurance
5. Deployment
6. Feedback
1. Requirements gathering: In this phase, you must define the requirements.
You should explain business opportunities and plan the time and effort needed to
build the project. Based on this information, you can evaluate technical and
economic feasibility.
2. Design the requirements: When you have identified the project, work with
stakeholders to define requirements. You can use the user flow diagram or the
high-level UML diagram to show the work of new features and show how it will
apply to your existing system.
3. Construction/ iteration: When the team defines the requirements, the work
begins. Designers and developers start working on their project, which aims to
deploy a working product. The product will undergo various stages of
improvement, so it includes simple, minimal functionality.
4. Testing: In this phase, the Quality Assurance team examines the product's
performance and looks for the bug.
5. Deployment: In this phase, the team issues a product for the user's work
environment.
6. Feedback: After releasing the product, the last step is feedback. In this, the
team receives feedback about the product and works through the feedback.
Cloud computing and Agile processes are two distinct but complementary
concepts that can be effectively combined to enhance software development and
delivery. Here are some ways that cloud computing meets agile processes:
SaaS allows developers to build software applications that are hosted and
delivered over the internet, eliminating the need for local hardware and
infrastructure. This allows for faster development, deployment, and scaling of
applications.
PaaS, on the other hand, provides developers with a complete platform for
building, deploying, and managing applications without having to worry about
the underlying infrastructure. PaaS providers offer a wide range of services such
as web servers, databases, and development tools, making it easier for developers
to build and deploy their applications.
Here are some key benefits of using SaaS and PaaS for cloud aware software
development:
1. Increased agility: SaaS and PaaS allow developers to quickly build, test,
and deploy applications, reducing the time-to-market.
2. Scalability: SaaS and PaaS offer the ability to scale applications
horizontally or vertically, enabling them to handle increasing workloads
and user demand without requiring significant investment in hardware or
infrastructure.
3. Lower costs: With SaaS and PaaS, developers can avoid the capital
expenses associated with building and maintaining on-premise
infrastructure. They also typically pay only for the resources they use,
making it a cost-effective solution.
4. Improved collaboration: SaaS and PaaS enable teams to work together in
a more collaborative manner, with all team members having access to the
same resources and tools.
5. Increased security: SaaS and PaaS providers typically offer high levels of
security, including encryption, regular backups, and other measures to
protect data.