Top Banner
1
37
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software testing

1

Page 2: Software testing

2

Team Members

- Ahmed Moawad

- Ebtsam Abdul-Aziz Hassan.

- Shimaa Mohsen El-Sadik.

- Nora Abdul-Rahman

- Nermin Abdul-Menaem Hassan

Page 3: Software testing

3

Introduction

- is the process of evaluating a system or its component(s) with theintent to find that whether it satisfies the specified requirements ornot.

- is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements.

Testing

Page 4: Software testing

4

Who test?

Software Tester

Software Developer

Project Manager

End User

Page 5: Software testing

5

Testing Types

Manual Testing

Automation Testing

Page 6: Software testing

6

- This type includes the testing of theSoftware manually i.e. without using anyautomated tool or any script.

Manual Testing

Page 7: Software testing

7

- Automation testing is when the tester writes scripts and uses another software to test the software.

Automation Testing

- Examples:- Visual Studio.- IBM Test.

Page 8: Software testing

8

Methods of Testing

Black Box Grey BoxWhite Box

Page 9: Software testing

9

Black Box Testing

- Testing without having any knowledge of the interior workings of the application.

- Called blind testing or closed box system .

- The tester does not have access to the source code.

Page 10: Software testing

10

Advantages Disadvantages

- efficient for large code segments.

- Code Access not required.

- Large numbers of normalskilled testers can test the application.

- Inefficient testing.

Black Box Testing (cont..)

Page 11: Software testing

11

White Box Testing

-Detailed investigation of internal logic and structure of the code.

- Called glass testing or open box testing

-The tester needs to possess knowledge of the internal working of the code.

Page 12: Software testing

12

White Box Testing (cont..)

Advantages Disadvantages

- It helps in optimizing the code.

- Maximum coverage is attained during test scenario writing.

- The costs are increased.

Page 13: Software testing

13

Grey Box Testing

- Limited knowledge of the internal workings of an application.

- Called limited knowledge testing.

- The tester has access to design documents and the database

Page 14: Software testing

14

Grey Box Testing (cont..)

Advantages Disadvantages

- Grey box testers don't rely on the source code.

- a grey box tester can design excellent test scenarios.

- The test is done from the point of view of the user and not the designer

- Test coverage is limited.

Page 15: Software testing

15

Level of Testing

Functional Testing

Non-Functional Testing

Page 16: Software testing

16

Functional Testing

Unit Testing

Integration Testing

Regression Testing

System Testing

Acceptance Testing

Page 17: Software testing

17

Unit Testing

- Unit testing is performed by the respective developers on the individual units of source code assigned areas.

Unit

Page 18: Software testing

18

Integration Method is testing combined parts of an application to determine if they function correctly together.

- There are two methods :

Integration Testing

Unit Unit Unit

- Bottom-up Integration testing.

- Top Down Integration testing.

Page 19: Software testing

19

System Testing

- System Testing tests the system as a whole.

- Once all the components are integrated, the application as a whole is tested rigorously to see that it meets Quality Standards.

Page 20: Software testing

20

Regression Testing

- The intent of Regression testing is to ensure that a change, such as a bug fix did not result in another fault being uncovered in the application.

Tester Developer Tester

Page 21: Software testing

21

Acceptance Testing

- By performing Acceptance test on an application the testing team will deduce how the application will perform in production.

- Consists of:- Alpha Testing.- Beta Testing.

Page 22: Software testing

22

Acceptance Testing (cont..)

ALPHA TESTING- Unit testing, integration testing and system testing when combined are known as alpha testing.

BETA TESTING- In beta testing a sample of the intended audience tests the application

Edtable Editable

Page 23: Software testing

23

Non-Functional Testing

Performance

Portability

Security

Usability

Page 24: Software testing

24

Performance Testing

- It is mostly used to identify any bottlenecks or performance issues rather than finding the bugs in software

- Performance testing is considered as one of the important and mandatory testing types in terms of following aspects:

- Speed - Capacity- Stability- Scalability

Page 25: Software testing

25

Performance Testing (cont..)

Load testing

- Determine Maximum load:- Users

- Data

- Specify Normal and peak load conditions.

Stress testing

- Testing of Software behavior under abnormal conditions.

- Examples:- Database On-Off.

- Server Down.

Page 26: Software testing

26

- Usability testing is for user-friendliness.

- Will depend on the targeted end-user or customer.

- Make User interviews, surveys, video recording of user sessions.

Usability Testing

Page 27: Software testing

27

- Security Testing is the testing of Software in order to identify

any gaps from security.

Security Testing

Page 28: Software testing

28

Portability Testing is the testing of Software with intend that it should be re-useable and can be moved from another Software as well.

Portability Testing

Page 29: Software testing

29

Testing Documentation

Test Plan

Test Scenario

Test Case

Page 30: Software testing

30

Test Plan

Test plan outlines:-The strategy that will be used to test an application-The resources that will be used-The test environment in which testing will be performed-The schedule of testing activities.

Page 31: Software testing

31

Test Case

The main intent of this activity is to ensure whether the Software Passes or Fails in terms of its functionality and other aspects.

Case Actual Expected

Page 32: Software testing

32

Test Scenario

- Test Scenarios are used to ensure that all process flows are tested from end to end.

Test Case 1

Test Case 2

Test Case 3

Scenario 1

Test Case 1

Test Case 2

Test Case 3

Scenario 2

Page 33: Software testing

33

When to Start Testing?

- An early start to testing reduces the cost, time to rework.

- Water fall model formal testing is conducted in the Testing phase.

- Incremental model, testing is performed at the end of everyincrement and at the end the whole application is tested.

Page 34: Software testing

34

When to Stop Testing?

- Testing Deadlines.

- Completion of test case execution.

- Management decision.

Page 35: Software testing

35

Conclusion

Page 36: Software testing

36

References

- http://www.tutorialspoint.com/software_testing/index.htm., 03 Dec 2014.- http://en.wikipedia.org/wiki/Acceptance_testing, 03 Dec 2014.- http://en.wikipedia.org/wiki/Software_testing, 03 Dec 2014.- https://www.udacity.com/course/cs258, 03 Dec 2014.- I.Sommerville, Intro to Software Engineering, 9th Edition,2011.

Page 37: Software testing

37