CP317 | Week 7 | Deployment

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Within the levels of software testing, which testing type focuses on verifying individual units or components of the software?

  • Integration testing
  • Acceptance testing
  • System testing
  • Unit testing (correct)

Which of the following best describes the primary goal of a software deployment strategy?

  • To identify and fix bugs in newly developed software.
  • To train users on how to use new software features.
  • To plan the budget for software development projects.
  • To change or upgrade software while minimizing disruptions. (correct)

Which deployment strategy involves deploying new software to all devices at the same time?

  • Parallel
  • Cutover (correct)
  • Gradual Cutover
  • Staged

A company is planning to update its accounting software. They want to switch to the new system over a weekend to avoid disrupting daily operations. Which deployment strategy is this?

<p>Cutover (C)</p> Signup and view all the answers

Which deployment strategy involves a functional production environment to practice a deployment?

<p>Staged Deployment (C)</p> Signup and view all the answers

Which deployment strategy involves installing new software into some users' machines while others use existing software?

<p>Gradual cutover (C)</p> Signup and view all the answers

What is a key characteristic of parallel deployment strategy?

<p>The new and old software systems operate at the same time. (C)</p> Signup and view all the answers

Which of the following best describes an incremental deployment strategy?

<p>Releasing new software features to user machines gradually. (D)</p> Signup and view all the answers

A company is developing a cloud-based service and wants to frequently release small updates to its users without disrupting their use of the service. Which deployment strategy is most suitable?

<p>Incremental (A)</p> Signup and view all the answers

Which of the following deployment strategies is also known as a 'Blue/Green' deployment?

<p>Parallel (C)</p> Signup and view all the answers

A company runs both the old and the new system at the same time. What is the primary advantage of this approach?

<p>Zero downtime. (A)</p> Signup and view all the answers

Why is it important to create a software deployment plan?

<p>To define the scope, approach, and execution for the software deployment. (A)</p> Signup and view all the answers

What could be included in a software deployment plan?

<p>Cutover, gradual cutover, parallel, increment, staged (C)</p> Signup and view all the answers

In a software deployment plan, what is the purpose of defining the 'rollback' procedure?

<p>To revert the system to a previous stable state in case of failure. (C)</p> Signup and view all the answers

What is the purpose of including 'training materials' as part of deployment tasks?

<p>To provide information to properly use the software. (C)</p> Signup and view all the answers

Which of the following is a common mistake in software deployment?

<p>Assuming everything will work without proper testing. (B)</p> Signup and view all the answers

What is the risk of cutover deployment?

<p>Very high impact on customers. (B)</p> Signup and view all the answers

During the 'Configure' stage of the Sample Phase I Deployment Plan, what is the primary activity?

<p>To gather the details needed to setup the system. (D)</p> Signup and view all the answers

During the 'Installation Logistics' stage of the Sample Phase I Deployment Plan, what is an example of a primary activity?

<p>Identify nurse station home, power, Wi-Fi, etc. (A)</p> Signup and view all the answers

Referring to the Sample Phase I Deployment Plan, consider you must Review and modify a setup. What is the previous action?

<p>Implement on one set of devices (C)</p> Signup and view all the answers

In the context of software deployment, what does 'test coverage' refer to?

<p>The degree to which the software code has been exercised by tests. (C)</p> Signup and view all the answers

What is the primary focus of integration testing: top down vs. bottom up?

<p>Ensuring that different parts of the system work together correctly. (A)</p> Signup and view all the answers

In software testing, what is the main difference between black-box testing and white-box testing?

<p>Black-box testing focuses on functionality without knowledge of internal code, while white-box testing requires knowledge of internal code. (D)</p> Signup and view all the answers

What is test driven development (TDD)?

<p>A software development process where tests are written before the code. (C)</p> Signup and view all the answers

In the context of software deployment, what does 'skipping staging' typically imply, and why is it considered a deployment mistake?

<p>It means deploying the software directly to the production environment, which can be risky due to lack of prior testing in a production-like setup. (B)</p> Signup and view all the answers

Flashcards

Software Deployment

All activities that make a new or updated software system available.

Software Deployment Plan

A detailed plan outlining the scope, approach, and execution of deploying a software product.

Deployment Strategy

A method to change or upgrade software, aiming for minimal downtime and user impact.

Cutover Deployment

Deploying new software to all devices simultaneously.

Signup and view all the flashcards

Staged Deployment

A deployment strategy testing software in environments that mimic production.

Signup and view all the flashcards

Gradual Cutover

Installing new software on some machines while others still use the old version.

Signup and view all the flashcards

Parallel Deployment

A new software system slowly replaces an older one, running simultaneously.

Signup and view all the flashcards

Incremental Deployment

Releasing new software features to users gradually.

Signup and view all the flashcards

Black-box testing

Testing software by examining inputs and outputs without internal code knowledge.

Signup and view all the flashcards

White-box testing

Testing software with knowledge of the internal code structure.

Signup and view all the flashcards

Test Driven Development

A testing methodology where tests are created before the code.

Signup and view all the flashcards

Integration testing

Combining individual units of code for testing.

Signup and view all the flashcards

System testing

Evaluating the entire system.

Signup and view all the flashcards

Acceptance testing

Determining weather the software is ready to be used.

Signup and view all the flashcards

Automatic deployment

Method for automatically deploying code.

Signup and view all the flashcards

Manual deployment

Making code available through human intervention.

Signup and view all the flashcards

Deployment plan

Defines the scope, purpose, and resources to deploy builds.

Signup and view all the flashcards

Deployment plan

Tasks needed to deploy stable build.

Signup and view all the flashcards

Allow insufficient time

Risk during deployment.

Signup and view all the flashcards

Skip staging

Risk during deployment.

Signup and view all the flashcards

Study Notes

Review of Week 6-2

  • Software testing involves a concept and a plan.
  • A test case procedure and test coverage are part of the software testing plan.
  • Levels of software testing include unit testing, integration testing (top down vs. bottom up), system testing, and acceptance testing.
  • Black-box testing and white-box testing are testing techniques.
  • Test Driven Development (TDD) is another testing technique.

Introduction to Software Deployment

  • From an occupation point of view, roles include deployment engineers/analysts and release engineers, Release Engineer Skills and Qualifications are an example.
  • Manual deployment is different from automatic deployment.
  • Manual deployment may involve software products in cars and airplanes.
  • Automatic deployment involves devices connected to the Internet.
  • As the Internet of Things grows, the demand for software developers increases.

Deployment

  • Software deployment covers all activities to make a new or updated software system available for use, including new software for new systems and new versions for existing ones.
  • Software deployment fits into software engineering models.
  • Deployment involves a deployment plan, new software versions, user training, support (on-site), and bug fixes.

Deployment Tasks

  • Tasks include planning the deployment, testing the software product in a simulated environment, and determining deployment strategies like cutover, stage deployment, gradual cutover, incremental, and parallel.
  • Documentation includes creating training materials, user manuals, help guides, and contact information.
  • Training is also a key deployment task.

Software Deployment Plan

  • It defines the scope, approach, and execution of software deployment.
  • Elements include the deployment method (cutover, gradual cutover, parallel, incremental, staged), deployment procedure, training, timelines, incident response, and rollback.
  • A Gantt chart can be used to illustrate the deployment plan.
  • Sample phase I deployment plan includes:
    • Kickoff of the project
    • Configuration details on units, shifts, and preferences
    • Implementation on one set of devices and modification if needed
    • Implementation of remaining devices.
    • Training customization
    • Training for service providers
    • Installation using nurse station homes, and making use of power and WIFI
    • Walk-through/test
    • Patient and Provider Use of Eloquence ACS
    • On-site patient, tech and nurse support
    • Feedback from users and patient and IT requirements for further deployment -Collation of metrics, feedback from users and reporting

Deployment Strategies/Methods

  • A software deployment strategy is a way to change or upgrade software.
  • The goal is to make the change without downtime, so users barely notice any improvements.
  • Common strategies include cutover, staged deployment, gradual cutover, incremental deployment, and parallel deployment.

Cutover Strategy

  • It involves deploying new software to all devices simultaneously.
  • It is easy to set up and renews the software state.
  • High risks, high impact on customers as well as expected downtime and system reboot are cons.

Staged Deployment

  • It has functional production environments for practicing deployment.
  • Low risks and renewed software states are pros.
  • It is expensive, and expects downtime and system reboot

Gradual Cutover

  • New software is installed into some users' machines while others continue using the existing software.
  • One pro is the low risks, but it is difficult to configure
  • Online deployments are an example

Parallel Deployment

  • A new software system gradually takes over the roles of the older one while both systems operate simultaneously.
  • Different versions run in parallel, and there is almost zero down-time release
  • It may be difficult to configure for online releases

Incremental Deployment

  • New features of software are gradually released to the end users.
  • There are low risks
  • The rollout can be slow, monolithic software will not work, and it is still being developed.

Alternative Names

  • Direct cutover is also know as Recreate
  • Parallel Operations - Blue/Green
  • Pilot Operations - Gradual Cutover
  • Phased Operation - Incremental

Deployment Mistakes

  • Common deployment mistakes include assuming everything will work out well, using cutover deployment, having no rollback plan, and allowing insufficient time.
  • Skipping staging, especially with complicated or safety-critical deployments, is a mistake.
  • Installing many updates all at once and using an unstable environment are also mistakes.

Summary

  • Key elements include deployment (with concepts and types), deployment tasks (planning, testing, documenting, and training), deployment plans, deployment strategies (such as cutover, staged, gradual, parallel, and incremental), and avoiding common deployment mistakes.

Announcement

  • Group project requires completing the SDD first and implementing the software code based on it.
  • Prepare a presentation, save it as PPT, and be able to deliver via myls
  • Ensure to record as well to deliver to myls
  • The content must follow half-time theory and half-time demonstration.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Software Deployment Phase Quiz
10 questions

Software Deployment Phase Quiz

HumblePedalSteelGuitar avatar
HumblePedalSteelGuitar
Software Development Lifecycle Phases
30 questions
Software Testing and Deployment Concepts
48 questions
Use Quizgecko on...
Browser
Browser