1
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 the
intent to find that whether it satisfies the specified requirements or
not.
- is executing a system in order to identify any gaps, errors or missing
requirements in contrary to the actual desire or requirements.
Testing
4
Who test?
Software
Tester
Software
Developer
Project
Manager
End User
5
Testing Types
Manual
Testing
Automation
Testing
6
- This type includes the testing of the
Software manually i.e. without using any
automated 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.
8
Methods of Testing
Black Box Grey BoxWhite Box
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 normal
skilled 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.
15
Level of Testing
Functional Testing
Non-Functional Testing
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
23
Non-Functional Testing
Performance
Portability
Security
Usability
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
29
Testing Documentation
Test Plan
Test Scenario
Test Case
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 every
increment and at the end the whole application is tested.
34
When to Stop Testing?
- Testing Deadlines.
- Completion of test case execution.
- Management decision.
35
Conclusion
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.
37

Software testing

  • 1.
  • 2.
    2 Team Members - AhmedMoawad - Ebtsam Abdul-Aziz Hassan. - Shimaa Mohsen El-Sadik. - Nora Abdul-Rahman - Nermin Abdul-Menaem Hassan
  • 3.
    3 Introduction - is theprocess of evaluating a system or its component(s) with the intent to find that whether it satisfies the specified requirements or not. - is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements. Testing
  • 4.
  • 5.
  • 6.
    6 - This typeincludes the testing of the Software manually i.e. without using any automated tool or any script. Manual Testing
  • 7.
    7 - Automation testingis when the tester writes scripts and uses another software to test the software. Automation Testing - Examples: - Visual Studio. - IBM Test.
  • 8.
    8 Methods of Testing BlackBox Grey BoxWhite Box
  • 9.
    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.
    10 Advantages Disadvantages - efficientfor large code segments. - Code Access not required. - Large numbers of normal skilled testers can test the application. - Inefficient testing. Black Box Testing (cont..)
  • 11.
    11 White Box Testing -Detailedinvestigation 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.
    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.
    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.
    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.
  • 15.
    15 Level of Testing FunctionalTesting Non-Functional Testing
  • 16.
    16 Functional Testing Unit Testing IntegrationTesting Regression Testing System Testing Acceptance Testing
  • 17.
    17 Unit Testing - Unittesting is performed by the respective developers on the individual units of source code assigned areas. Unit
  • 18.
    18 Integration Method istesting 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.
    19 System Testing - SystemTesting 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.
    20 Regression Testing - Theintent 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.
    21 Acceptance Testing - Byperforming Acceptance test on an application the testing team will deduce how the application will perform in production. - Consists of: - Alpha Testing. - Beta Testing.
  • 22.
    22 Acceptance Testing (cont..) ALPHATESTING - 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
  • 23.
  • 24.
    24 Performance Testing - Itis 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.
    25 Performance Testing (cont..) Loadtesting - 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.
    26 - Usability testingis for user-friendliness. - Will depend on the targeted end-user or customer. - Make User interviews, surveys, video recording of user sessions. Usability Testing
  • 27.
    27 - Security Testingis the testing of Software in order to identify any gaps from security. Security Testing
  • 28.
    28 Portability Testing isthe testing of Software with intend that it should be re-useable and can be moved from another Software as well. Portability Testing
  • 29.
  • 30.
    30 Test Plan Test planoutlines: -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.
    31 Test Case The mainintent of this activity is to ensure whether the Software Passes or Fails in terms of its functionality and other aspects. Case Actual Expected
  • 32.
    32 Test Scenario - TestScenarios 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.
    33 When to StartTesting? - 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 every increment and at the end the whole application is tested.
  • 34.
    34 When to StopTesting? - Testing Deadlines. - Completion of test case execution. - Management decision.
  • 35.
  • 36.
    36 References - http://www.tutorialspoint.com/software_testing/index.htm., 03Dec 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.
  • 37.