Software Engineering Software Testing Slide 1 Software Testing Software Engineering.
Software testing
-
Upload
ahmed-moawad -
Category
Software
-
view
93 -
download
0
Transcript of Software testing
2
Team Members
- Ahmed Moawad
- Ebtsam Abdul-Aziz Hassan.
- Shimaa Mohsen El-Sadik.
- Nora Abdul-Rahman
- Nermin Abdul-Menaem Hassan
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
6
- This type includes the testing of theSoftware manually i.e. without using anyautomated tool or any script.
Manual 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.
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.
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..)
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.
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.
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
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.
16
Functional Testing
Unit Testing
Integration Testing
Regression Testing
System Testing
Acceptance Testing
17
Unit Testing
- Unit testing is performed by the respective developers on the individual units of source code assigned areas.
Unit
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.
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.
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
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.
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
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
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.
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
27
- Security Testing is the testing of Software in order to identify
any gaps from security.
Security 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
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.
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
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
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.
34
When to Stop Testing?
- Testing Deadlines.
- Completion of test case execution.
- Management decision.
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.