Upload
sara-shall
View
37
Download
0
Embed Size (px)
Citation preview
Software testing
Introduced to: Dr. Bilal OwaidatPrepared by: Sara Shall
Date: 27/2/2017
Outline• What is software testing?• Why we need software testing?• Types of software testing.• Software testing lifecycle.• Regression Testing.• Unit Testing.• Distributed Testing.• Software testing in the cloud.
What is software testing?
• Software testing is a method of assessing the functionality of a software program.
Why we need software testing?
1. To deliver the best application we can.
2.To test compatibility.
Why we need software testing?
3. To make sure that your website is always up and running.
4.To ensure that what we create does what it’s supposed to do.
Software testing lifecycle(STLC)
Software testing lifecycle(STLC)
• Requirements/design review:
In case of confusion
Software testing lifecycle(STLC)
• Test planning:In this phase the QA manager prepare the Test Plan and Test strategy documents.
• Test Case Development:
Software testing lifecycle(STLC)
Verification of Creation of
• Environment Setup:This phase includes the setup or installation process of software and hardware which is required for testing the application.
Software testing lifecycle(STLC)
• Test Execution:In Test Execution phase the test cases are executed in the testing environment.
Software testing lifecycle(STLC)
• Test Cycle Closure: In Test Cycle phase the QA team will meet and discuss about the testing artifacts.
Software testing lifecycle(STLC)
Types of software testing
Acceptance testing
Load testing
Stress testing
Performance testing
Usability testing
Install/uninstall testing
Recovery testing
Security testing
Compatibility testing
Comparison testing
Alpha testing
Beta testing
System testing
Integration testing
Acceptance testing
Software testing levels
Unit Testing• Unit testing is a method by which individual units
of source code are tested to determine if they are fit for use.
Unit Testing
• Types of testing:Unit Testing
• Unit testing is supported by frameworks which are available in different programming languages( JUnit , Google test framework).
• The main elements of a unit framework:
Test case. Test suite. Test fixture. Test result.
Unit Testing
Integration testing• Integration testing is executed to establish
whether the components interact with each other consort to the specification or not.
• Types of Integration Testing:
1)Top-Down Integration Testing
2) Bottom-Up Integration Testing
System testing• System testing is the type of testing to check
the behavior of a complete and fully integrated software product based on the software requirements specification (SRS) document.
Acceptance testing• Acceptance testing: Formal testing with
respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.(Definition by ISTQB)
• It is basically done by the user or customer .
Regression Testing• What is Regression Testing?It is a test that is made after any modification or update occurs to the software to ensure that the existing functionality is intact or not and that system update does not re-introduce errors.
Regression TestingGiven program P, its modified version P’, and a test set Tthat was used to previously test P, find a way to utilize T to gain sufficient confidence in the correctness of P’
Regression testing is used when:• Any new feature is added• Any enhancement is done• Any bug is fixed• Any performance related issue is fixed
Regression Testing
• Regression Techniques:
Regression Testing
• Regression process:Regression Testing
Software testing in the Cloud• Cloud testing is migrating testing to the cloud in
which reduce the execution time for regression testing.
• Benefits:1. virtualized hardware.2. Unlimited storage.3. Software services that help in reducing the
execution time.
Cloud testing & the supported types:
Software testing in the Cloud
• SMART-T:The decision of whether or not to migrate software testing to the cloud depending on three issues:• the business drivers outlined • the technical factors • the operational results
Software testing in the Cloud
SMART-T
Software testing in the Cloud• Hadoop: is a framework free and open source written in Java to facilitate the creation of applications distributed and scalable for applications to work with thousands of nodes and petabytes of data.
• The cloud enables organizations to deploy Hadoop without acquiring hardware or expertise. •Vendors with a cloud offer include: Microsoft, Amazon, IBM 9 and Google.
• Thank you