Unit 13 Lesson 1 Software Testing Introduction.pptx

Software Development and Testing Methodologies

Unit 13: Software Testing

BTEC Level 3 National Extended Diploma in Information Technology

Lecturer: Jerry Jackson Bent

1 / 26
volgende
Slide 1: Slide
newEditor

In deze les zitten 26 slides, met tekstslides.

Dit is niet oké

Onderdelen in deze les

Software Development and Testing Methodologies

Unit 13: Software Testing

BTEC Level 3 National Extended Diploma in Information Technology

Lecturer: Jerry Jackson Bent

Unit in Brief

🞅 Unit 13

🞅 Unit Name: Software Testing

🞅 Level: 3

🞅 Unit type: Internally Assessed

🞅 Guided learning hours: 60

Learning aims A1

In this lesson you will understand and be able to explain:

🞅 What is software testing

🞅 User requirements, such as functions the software needs to perform etc.

🞅 Typical job roles in a software development team

🞅 What makes a good tester

Links to other units

🞅 Unit 4: Programming

🞅 Unit 6: Website Development

🞅 Unit 7: Mobile Apps Development

🞅 Unit 8: Computer Games Development

🞅 Unit 19: The Internet of Things

Recap from Unit 2: Fundamentals of computer systems

🞅 What is software?

🞅 What are the two main categories of

software?

Answers

🞅 Software is a series of instructions for the computer to perform a particular task, called a program;

🞅 The two major categories of software are system

software and application software.

What is software testing ?

🞅What do you think this is?

What is software testing ?

Think of software testing like taking a newly designed car out for a test.

🞅 Why do you think this maybe necessary?

🞅 What would you be testing if you just

designed a car?

Software Testing Explained

🞅 Software testing is defined as an activity to check whether the actual results match the expected results and to ensure that the software system is Defect free. It involves execution of a software component or system component to evaluate one or more properties of interest.

🞅 Software testing also helps to identify errors, gaps or missing requirements in contrary to the actual requirements. It can be either done manually or using automated tools. Some prefer saying Software testing as a White Box and Black Box Testing.

🞅 In simple terms, Software Testing means Verification of Application Under Test (AUT).

Why is Software Testing Important?

🞅 Testing is important because software bugs could be expensive or even dangerous. Software bugs can potentially cause monetary and human loss, and history is full of such examples.

Software Failures: Bloomberg

🞅 In April 2015, Bloomberg terminal in London crashed due to software glitch affected more than 300,000 traders on financial markets. It forced the government to postpone a 3bn pound debt sale.

Software Failures: Nissan Car

🞅 Nissan cars have to recall over 1 million cars from the market due to software failure in the airbag sensory detectors. There has been reported two accident due to this software failure.

Software Failures: Starbucks

🞅 Starbucks was forced to close about 60 percent of stores in the

U.S and Canada due to software failure in its POS system. At one point store served coffee for free as they unable to process the transaction.

Software Failures: Amazon

🞅 Some of the Amazon’s third party retailers saw their product price is reduced to 1p due to a software glitch. They were left with heavy losses.

Software Failures: F35 / Airbus A300

🞅 In 2015 fighter plane F-35 fell victim to a software bug, making it unable to detect targets correctly.

🞅 China Airlines Airbus A300 crashed due to a software bug on April 26, 1994, killing 264 innocent live

Software Failures: Therac-25 Radiation

🞅 In 1985, Canada's Therac-25 radiation therapy machine malfunctioned due to software bug and delivered lethal radiation doses to patients, leaving 3 people dead and critically injuring 3 others.

Software Failures: Satellite launch

🞅In April of 1999, a software bug caused the failure of a

$1.2 billion military satellite launch, the costliest accident in history

Software Failures: 920 Million dollar loss

🞅In may of 1996, a software bug caused the bank accounts of 823 customers of a major U.S. bank to be credited with 920 million US dollars.

Software Failures: World war 3

Advantages of Software Testing- Let’s Discuss

When does software testing start?

🞅 As against the perception that testing starts only after the completion of coding phase, it actually begins even before the first line of code can be written. In the life cycle of the conventional software product, testing begins at the stage when the specifications are written, i.e. from testing the product specifications or product spec. Finding bugs at this stage can save huge amounts of time and money.

How important is it?

🞅 Quality can briefly be defined as “a degree of

excellence”. High quality software.

🞅 usually conforms to the user requirements. A customer’s idea of quality may cover a breadth of features - conformance to specifications, good performance on platform(s)/configurations, completely meets operational requirements

Software Development Team

🞅 A software development team are the individuals that work together to ensure that software is designed, developed, tested and maintained. Some of the key roles in this team are:

  • software developers – Responsible for designing and building computer programs

to solve problems and user requirements.

  • testers – ensure functionality and uncover potential problem areas for the user

  • business analysts – provide a communication point of contact between the

development team and project manager

  • project managers – ensure the smooth and effective running of a project’s

development and its resources (people, finances and infrastructure)

  • product owners – stakeholders in a project, take responsibility for a project and promote it throughout the organisation

What makes a good tester?

🞅 Know the technology. Knowledge of the technology in which the application is developed is an added advantage to any tester. It helps design better and powerful test cases basing on the weakness or flaws of the technology.

🞅 Perfectionist and a realist. Being a perfectionist will help testers spot the problem and being a realist helps know at the end of the day which problems are really important problems. You will know which ones require a fix and which ones don’t.

🞅 Tactful, diplomatic and persuasive. Good software testers are tactful and know how to break the news to the developers. They are diplomatic while convincing the developers of the bugs and persuade them when necessary and have their bug(s) fixed.

What makes a good tester? (Cont’n)

🞅 An explorer. A bit of creativity and an attitude to take risk helps the testers venture into unknown situations and find bugs that otherwise will be looked over.

🞅 Troubleshoot. Troubleshooting and figuring out why something doesn’t work helps testers be confident and clear in communicating the defects to the developers.

🞅 Posses people skills and tenacity. Testers can face a lot of resistance from programmers. Being socially smart and diplomatic doesn't mean being indecisive. The best testers are both-socially adept and tenacious where it matters.

🞅 Organized. Best testers very well realize that they too can make mistakes and don’t take chances. They are very well organized and have checklists, use files, facts and figures to support their findings that can be used as an evidence and double check their findings.

Recap: We have looked at the following

🞅 What is software testing

🞅 User requirements, such as functions the

software needs to perform etc.

🞅 Typical job roles in a software development team

🞅 What makes a good tester

Next lesson we will look at:

  • Software Development Life Cycle (SDLC)

  • Role of Software Design Principles