Content Analysis

profileAnEsh
OODP101_Week7.pptx

Object Oriented Design and Programming

Week 7

A B Emran Salahuddin, Anchal Shrestha, Chaitalia Samani(Sydney)

Hanspreet Kaur, Allan NG (Melbourne)

Kent Institute Australia Pty. Ltd.

ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 TEQSA Provider Number: PRV12051

Version 2 – 18th December 2015

1

SLIDE TITLE

Farrell, J. (2017) Programming Logic and Design, Comprehensive (9th ed.) Cengage Learning

2

2

Object Oriented Design and Programming

Developing and implementing test plans

3

Testing

Software testing is a process of executing a program or application with the intent of finding the software bugs.

A bug is defect in the application which is created.

A programmer while designing and building the software can make mistakes or error.

These mistakes or errors mean that there are flaws in the software. These are called bugs.

4

Testing

It can also be stated as the process of validating and verifying that a software program or application or product:

Meets the business and technical requirements that guided it’s design and development

Works as expected

Can be implemented with the same characteristic.

5

More about Testing

Process:  Testing is a process rather than a single activity

All Life Cycle Activities: Testing is a process that’s take place throughout the SDLC.

The process of designing tests early in the life cycle can help to prevent defects from being introduced in the code.

The test basis includes documents such as the requirements and design specifications.

6

More about Testing

  Static Testing

It can test and find defects without executing code.

Static Testing is done during verification process.

Verification is the process, to ensure that whether we are building the product right i.e., to verify the requirements which we have and to verify whether we are developing the product accordingly or not.

This testing includes reviewing of the documents (including source code) and static analysis.

This is useful and cost effective way of testing.  For example: reviewing, walkthrough, inspection etc.

 

7

More about Testing

Dynamic Testing

In dynamic testing the software code is executed to demonstrate the result of running tests.

It’s done during validation process.

Validation is the process, whether we are building the right product i.e., to validate the product which we have developed is right or not.

For example: unit testing

Unit testing, a testing technique using which individual modules are tested to determine if there are any issues by the developer himself. It is concerned with functional correctness of the standalone modules.

8

More about Testing

  Planning

 We need to plan as what we want to do.

We control the test activities, we report on testing progress and the status of the software under test.

Preparation:  

We need to choose what testing we will do, by selecting test conditions and designing and documenting test cases.

9

More about Testing

Evaluation

 During evaluation we must check the results and evaluate the software under test and the completion criteria, which helps us to decide whether we have finished testing and whether the software product has passed the tests.

Software products and related work products

Along with the testing of code the testing of requirement and design specifications and also the related documents like operation, user and training material is equally important.

10

Designing Test Cases

Basically test design is the act of creating and writing test suites for testing a software.

To make a test case we need to be very specific.

We need the exact and detailed specific input.

And most importantly, what the program is supposed to do.

11

Designing Test Cases

Once a given input value has been chosen, the tester needs to determine what the expected result of entering that input would be and document it as part of the test case.

Expected results include information displayed on a screen in response to an input.

If we don’t decide on the expected results before we run a test then there might be a chance that we will notice that there is something wildly wrong.

12

Designing Test cases

Watch this video to learn more about designing and documenting test cases

https://www.youtube.com/watch?v=BBmA5Qp6Ghk

13

Writing good Test Cases

Test cases should be created by keeping the program requirements in mind.

Test cases should be very crisp and clear.

It should be very straightforward. The number of times it gets executed no matter by whom, it should give the same output.

Do NOT make any guesses of any functionality or feature of your application.

14

Writing good Test Cases

Each of the test cases should have a unique name.

This helps in classifying the test cases while bug tracking or reviewing any requirement at later stage.

The test cases authored should not be repeated.

Test cases should always be reviewed by peers.

If any precondition or any condition is missed while authoring the test case then it can be covered as per the peer’s feedback.

15

Advantages of writing Test Cases

Test case is a written document which can be referred anytime by anyone in the team to understand the end to end functionality of any feature.

It saves time of the team members as no one has to sit and make another person understand about the functionality of the feature.

Writing test case ensures the maximum coverage of the product or application as per the customer requirement.

16

Importance of Software Testing

Software testing is an important part of software development.

If software testing is not performed properly, applications can have errors which may lead to rework, costly failure or worse, loss of life.

17

Examples

Knights Capital Group lost 440 million dollars in 30 minutes due to an error in their trading algorithm on 1 Aug 2012.

The company’s share dropped 75% in two days after the software pushed faulty trades for over 150 different stocks.

The $18 million Mariner 1 Spacecraft was destroyed once it was certain to crash after take off. The failure was traced back to a missing hyphen that let wrong guidance signals to be sent to the rocket.

18

Have time?

Finish tutorial exercise.

Work on your assessments.

19

kent.edu.au Kent Institute Australia Pty. Ltd. ABN 49 003 577 302 ● CRICOS Code: 00161E ● RTO Code: 90458 ● TEQSA Provider Number: PRV12051

20

20