Testing PPT Latest - 2015
-
Upload
pavan-kumar-mvs -
Category
Documents
-
view
165 -
download
3
Transcript of Testing PPT Latest - 2015
TESTING CONCEPTSTESTING CONCEPTS
Basics for a Technical Basics for a Technical RecruiterRecruiter
Software testing is the process of evaluation a software item to detect differences between given input and expected output.
It includes a set of activities conducted with the intent of finding errors in software so that it could be corrected before the product is released to the end users.
“In simple words, software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free.”
SEVEN PRINCIPLES OF TESTING SEVEN PRINCIPLES OF TESTING
Testing shows presence of defects – Testing reduces the probability of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness.
Exhaustive testing is impossible – Instead we need optimal amount of testing based on the risk assessment of the application.
Early testing – Testing should start as early as possible in the Software Development Life Cycle
Defect clustering – which states that a small number of modules contain most of the defects detected.
SEVEN PRINCIPLES OF TESTINGSEVEN PRINCIPLES OF TESTING
Pesticide paradox -
If the same tests are repeated over and over again , eventually the same test cases will no longer find new bugs
Testing is context dependent -
Finding and fixing defects does not help if the system build is unusable and does not fulfill the users needs & requirements
Absence of errors – fallacy -
Finding and fixing defects does not help if the system build is unusable and does not fulfill the users needs & requirements
SDLC , STLC & V-MODELSDLC , STLC & V-MODEL
What are the various components of STLC?
Various components of "Software Testing Life Cycle" are
Requirements DocumentPreparation of Test Plan Preparation of Test Cases Execution of Test Cases Analysis of Bugs Reporting of Bugs Tracking of Bugs till closure
Software Testing - Types of Testing
This section describes the different types of testing that may be used to test a software during SDLC.
What is meaning of Manual Testing
In Manual Testing , Testers manually execute test cases without using any automation tools. Manual testing is the most primitive of all testing types and helps find bugs in the software system.
Any new application must be manually tested before its testing can be automated. Manual testing requires more effort, but is necessary to check automation feasibility.
Manual Testing does not require knowledge of any testing tool.
Manual Testing types:
White Box Testing
White Box testing / Glass box Testing
White box testing, glass box testing or structural testing is used to check that the outputs of a program, given certain inputs, conform to the structural specification of the program. It uses information about the structure of the program to check that it performs correctly.
To Ensure That all independent paths within a module have been exercised at least once.
All logical decisions verified on their true and false values.
All loops executed at their boundaries and within their operational bounds internal data structures validity.
Black-box testing
Black-box testing treats the software as a "black box", examining functionality without any knowledge of internal implementation. The testers are only aware of what the software is supposed to do, not how it does it
Main focus in black box testing is on functionality of the system as a whole
Grey-Box Testing
Grey-box testing is a technique to test the application with having a limited knowledge of the internal workings of an application. In software testing, the phrase the more you know, the better carries a lot of weight while testing an application.
Mastering the domain of a system always gives the tester an edge over someone with limited domain knowledge. Unlike black-box testing, where the tester only tests the application's user interface; in grey-box testing, the tester has access to design documents and the database. Having this knowledge, a tester can prepare better test data and test scenarios while making a test plan
A Comparison of Testing Methods
Microsoft Office Excel Worksheet
Manual Testing Types -Unit Testing
The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect.
Each unit is tested separately before integrating them into modules to test the interfaces between modules.
Unit Testing is performed by using the White Box Testing method.
Unit Testing is the first level of testing and is performed prior to Integration Testing.
Manual Testing Types - Unit Testing - Tasks
Unit Test PlanPrepareReviewReworkBaseline
Unit Test Cases/ScriptsPrepareReviewReworkBaseline
Unit TestPerform
Manual Testing Types - Integration Testing
Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing.
Integration testing: Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.
Either Developers themselves or independent Testers perform Integration Testing.
Integration Testing is performed after Unit Testing and before System Testing.
Manual Testing Types - System Testing
The process of testing an integrated system to verify that it meets specified requirements.
Normally, independent Testers perform System Testing.
Usually, Black Box Testing method is used.
System Testing is performed after Integration Testing and before Acceptance Testing.
Manual Testing Types -Acceptance Testing
Acceptance Testing is a level of the software testing process where a system is tested for acceptability.
Usually, Black Box Testing method is used in Acceptance Testing.
The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.
Manual Testing Types -Acceptance Testing - Tasks
Acceptance Test PlanPrepareReviewReworkBaseline
Acceptance Test Cases/ChecklistPrepareReviewReworkBaseline
Acceptance TestPerform
Manual Testing Types -Acceptance Testing
This is arguably the most important type of testing, as it is conducted by the Quality Assurance Team who will gauge whether the application meets the intended specifications and satisfies the client’s requirement. The QA team will have a set of pre-written scenarios and test cases that will be used to test the application.
By performing acceptance tests on an application, the testing team will deduce how the application will perform in production. There are also legal and contractual requirements for acceptance of the system
What is Regression Testing?
After the bug fixed , testing the application whether the fixed bug is affecting remaining functionality of the application or not.
Tester must check that new updating or change in the functionality of a particular component or module does not create any disorder and any negative effects on the functionality of the application
Alpha Testing
This test is the first stage of testing and will be performed amongst the teams (developer and QA teams). Unit testing, integration testing and system testing when combined together is known as alpha testing.
During this phase, the following aspects will be tested in the application:
Spelling Mistakes
Broken Links
Cloudy Directions
The Application will be tested on machines with the lowest specification to test loading times and any latency problems.
Beta Testing
This test is performed after alpha testing has been successfully performed. In beta testing, a sample of the intended audience tests the application.
Beta testing is also known as pre-release testing.
Smoke Testing
Smoke testing is a two point agenda , comprising of mainly
Whether the application is running
we check we have the correct version is installed,
Means that right versions of databases are linked, API’S and middle layer, to check thewhole configuration is rightly linked with the correct versions
Anytime a code is deployed and new build is available
Sanity Testing
Sanity Test is concentration on the functionality , mostly critical functionality Whether we can check the software which we are testing, we look at the critical functionality that is mandatory for us to work further.
Smoke Testing & Sanity Testing
Sample Resume – Manual Testing
Microsoft Office Word 97 - 2003 Document
Automation Testing
Automation testing, which is also known as Test Automation, is when the tester writes scripts and uses another software to test the product. This process involves automation of a manual process. Automation Testing is used to re-run the test scenarios that were performed manually, quickly, and repeatedly.
Automation Testing - When to Automate?
Apart from regression testing, automation testing is also used to test the application from load, performance, and stress point of view. It increases the test coverage, improves accuracy, and saves time and money in comparison to manual testing.
Test Automation should be used by considering the following aspects of a software:
Large and critical projectsProjects that require testing the same areas frequentlyRequirements not changing frequentlyAccessing the application for load and performance with many virtual usersStable software with respect to manual testingAvailability of time
Sample Resume – Automation Testing
Microsoft Office Word 97 - 2003 Document
Differences between Automated and Manual testing
Manual Testing Automated Testing
Manual Testing is slow and costlyAutomated Testing is fast and cheaper,however, this statement may not hold good for all types of
testing . It is applicable for repetitive tests.Manual Testing does not scale
well , i.e. in the case of long running tests and testing
repetitively, the results might prove to be in consistent and
error prone
Automated testing can be very consistent and free of human errors
It is not repeatable It can be very efficient in repetitive testingIt is very effective in review
processAutomation testing might not be very useful in
review process
Software Testing Tools
HP Quick Test ProfessionalSeleniumIBM Rational Functional TesterSilkTestTestCompleteTesting AnywhereWinRunnerLaodRunnerVisual Studio Test ProfessionalWATIR
Different Types of Testing Roles – Certifications
Microsoft Office Excel 97-2003 Worksheet
Functional Testing Vs Non-Functional Testing
Functional Testing is the type of testing done against the business requirements of application. It is a black box type of testing.
In the types of functional testing following testing types should be cover:
Unit TestingSmoke testingSanity testingIntegration TestingInterface TestingSystem TestingRegression TestingUAT
Functional Testing Vs Non-Functional Testing
The non Functional Testing is the type of testing done against the non functional requirements. Most of the criteria are not consider in functional testing so it is used to check the readiness of a system.
Non-functional testing involves testing a software from the requirements which are nonfunctional in nature but important such as performance, security, user interface, etc.
What is Performance Testing ?
Testing the present working condition of the product .
Used to verify performance behaviors for business functions under the normal and heavy work conditions .
Simplified Definitions Performance Testing = how fast is the system?
Performance testing comes under non functional testing
Key Skills - Performance Testing
Key Skills:
Load Volume Stress Scalability
Key Skills:
Load Volume Stress Scalability
Stress Testing
The purpose behind stress testing is to ascertain the failure of system and to monitor how the system recovers back gracefully
Top Performance Testing Tools
Apache JMeterLoadRunnerWebLOADAppvanceNeoLoadLoadUIWAPTLoadster
Load Testing
Load testing is meant to test the system by constantly and steadily increasing the load on the system till the time it reaches the threshold limit.
It is the simplest form of testing which employs the use of automation tools such as Load Runner or any other good tools, which are available
Sample Resume – Performance Testing
Microsoft Office Word 97 - 2003 Document
TESTING CONCEPTS