Learn software testing with tech partnerz 2


Published on

Published in: Technology, Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Learn software testing with tech partnerz 2

  1. 1. Learn Software TestingWithTechPartnerzSession 2http://www.techpartnerz.com
  2. 2. Your Partner for Professional Successhttp://www.techpartnerz.comTest Phases.RequirementsReviewDesignReviewCodeWalkthroughCodeInspectionIntegrationTestingUnitTestingSystemTestingPerformanceTestingAlphaTestingUser AcceptanceTestingInstallationTestingBetaTesting
  3. 3. Your Partner for Professional Successhttp://www.techpartnerz.comFormal Technical Review’s (FTR)The focus of FTR is on a work product (e.g. Requirementsdocument, Code etc.). After the work product is developed, theProject Leader calls for a Review. The work product is distributedto the personnel who involves in the review. The main audiencefor the review should be the Project Manager, Project Leader andthe Producer of the work product.Major reviews include the following:1. Requirements Review.2. Design Review.3. Code Review.Test Phases and Definitions
  4. 4. Your Partner for Professional Successhttp://www.techpartnerz.comUnit TestingGoal of Unit testing is to uncover defects using formal techniqueslike Boundary Value Analysis (BVA), Equivalence Partitioning,and Error Guessing. Defects and deviations in Date formats,Special requirements in input conditions (for example Text boxwhere only numeric or alphabets should be entered), selectionbased on Combo Box’s, List Box’s, Option buttons, CheckBox’s would be identified during the Unit Testing phase.Integration TestingIntegration testing is a systematic technique for constructing theprogram structure while at the same time conducting tests touncover errors associated with interfacing. The objective is totake unit tested components and build a program structurethat has been dictated by design.Usually, the following methods of Integration testing are followed:1. Top-down Integration approach.2. Bottom-up Integration approach.Test Phases and Definitions
  5. 5. Your Partner for Professional Successhttp://www.techpartnerz.comTop-down IntegrationTop-down integration testing is an incremental approach toconstruction of program structure. Modules are integrated bymoving downward through the control hierarchy, beginningwith the main control module. Modules subordinate to the maincontrol module are incorporated into the structure in either adepth-first or breadth-first manner.The Integration process is performed in a series of five steps:1. The main control module is used as a test driver and stubs aresubstituted for all components directly subordinate to the maincontrol module.2. Depending on the integration approach selected subordinatestubs are replaced one at a time with actual components.3. Tests are conducted as each component is integrated.4. On completion of each set of tests, another stub is replacedwith the real component.5. Regression testing may be conducted to ensure that newerrors have not been introduced.Test Phases and Definitions
  6. 6. Your Partner for Professional Successhttp://www.techpartnerz.comBottom-up IntegrationButton-up integration testing begins construction and testing withatomic modules (i.e. components at the lowest levels in theprogram structure). Because components are integrated fromthe button up, processing required for componentssubordinate to a given level is always available and the needfor stubs is eliminated.A Bottom-up integration strategy may be implemented with thefollowing steps:1. Low level components are combined into clusters that performa specific software sub function.2. A driver is written to coordinate test case input and output.3. The cluster is tested.4. Drivers are removed and clusters are combined movingupward in the program structure.Test Phases and Definitions
  7. 7. Your Partner for Professional Successhttp://www.techpartnerz.comSystem TestingSystem testing is a series of different tests whose primarypurpose is to fully exercise the computer based system.Although each test has a different purpose, all work to verifythat system elements have been properly integrated andperform allocated functions.The following tests can be categorized under System testing:1. Recovery Testing.2. Security Testing.3. Stress Testing.4. Performance Testing.Recovery TestingRecovery testing is a system test that focuses the software to fall in avariety of ways and verifies that recovery is properly performed. Ifrecovery is automatic, reinitialization, checkpointing mechanisms, datarecovery and restart are evaluated for correctness. If recovery requireshuman intervention, the mean-time-to-repair (MTTR) is evaluated todetermine whether it is within acceptable limits.Test Phases and Definitions
  8. 8. Your Partner for Professional Successhttp://www.techpartnerz.comSecurity TestingSecurity testing attempts to verify that protection mechanisms built into asystem will, in fact, protect it from improper penetration. DuringSecurity testing, password cracking, unauthorized entry into thesoftware, network security are all taken into consideration.Stress TestingStress testing executes a system in a manner that demands resources inabnormal quantity, frequency, or volume. The following types of testsmay be conducted during stress testing:1. Special tests may be designed that generate ten interrupts persecond, when one or two is the average rate.2. Input data rates may be increases by an order of magnitude todetermine how input functions will respond.3. Test Cases that require maximum memory or other resources.4. Test Cases that may cause excessive hunting for disk-resident data.5. Test Cases that my cause thrashing in a virtual operating system.Test Phases and Definitions
  9. 9. Your Partner for Professional Successhttp://www.techpartnerz.comPerformance TestingPerformance tests are coupled with stress testing and usuallyrequire both hardware and software instrumentation.Regression TestingRegression testing is the re-execution of some subset of tests that havealready been conducted to ensure that changes have notpropagated unintended side affects.Regression may be conducted manually, by re-executing a subset of altest cases or using automated capture/playback tools.The Regression test suit contains three different classes of test cases:• A representative sample of tests that will exercise all softwarefunctions.• Additional tests that focus on software functions that are likely to beaffected by the change.• Tests that focus on the software components that have beenchanged.Test Phases and Definitions
  10. 10. Your Partner for Professional Successhttp://www.techpartnerz.comAlpha TestingThe Alpha testing is conducted at the developer sites and in acontrolled environment by the end-user of the software.User Acceptance TestingUser Acceptance testing occurs just before the software isreleased to the customer. The end-users along with thedevelopers perform the User Acceptance Testing with a certainset of test cases and typical scenarios.Beta TestingThe Beta testing is conducted at one or more customer sites bythe end-user of the software. The beta test is a live application ofthe software in an environment that cannot be controlled by thedeveloper.Test Phases and Definitions
  11. 11. Your Partner for Professional Successhttp://www.techpartnerz.comMetrics are the most important responsibility of the Test Team.Metrics allow for deeper understanding of the performance of theapplication and its behavior. The fine tuning of the application canbe enhanced only with metrics. In a typical QA process, there aremany metrics which provide information.The following can be regarded as the fundamental metric: Functional or Test Coverage Metrics. Software Release Metrics. Software Maturity Metrics. Reliability Metrics. Mean Time To First Failure (MTTFF). Mean Time Between Failures (MTBF). Mean Time To Repair (MTTR).Metrics.
  12. 12. Your Partner for Professional Successhttp://www.techpartnerz.comFunctional or Test Coverage Metric.It can be used to measure test coverage prior to software delivery. It provides ameasure of the percentage of the software tested at any point during testing.It is calculated as follows:Function Test Coverage = FE/FTWhere,FE is the number of test requirements that are covered by test cases that wereexecuted against the softwareFT is the total number of test requirementsSoftware Release MetricsThe software is ready for release when:1. It has been tested with a test suite that provides 100% functional coverage, 80%branch coverage, and 100% procedure coverage.2. There are no level 1 or 2 severity defects.3. The defect finding rate is less than 40 new defects per 1000 hours of testing4. Stress testing, configuration testing, installation testing, Naïve user testing,usability testing, and sanity testing have been completedMetrics.
  13. 13. Your Partner for Professional Successhttp://www.techpartnerz.comSoftware Maturity MetricSoftware Maturity Index is that which can be used to determine thereadiness for release of a software system. This index is especiallyuseful for assessing release readiness when changes, additions, ordeletions are made to existing software systems. It also provides anhistorical index of the impact of changes. It is calculated as follows:SMI = Mt - ( Fa + Fc + Fd)/MtWhereSMI is the Software Maturity Index valueMt is the number of software functions/modules in the current releaseFc is the number of functions/modules that contain changes from theprevious releaseFa is the number of functions/modules that contain additions to theprevious releaseFd is the number of functions/modules that are deleted from theprevious releaseMetrics.
  14. 14. Your Partner for Professional Successhttp://www.techpartnerz.comReliability MetricsReliability is calculated as follows:Reliability = 1 - Number of errors (actual or predicted)/Total number oflines of executable codeThis reliability value is calculated for the number of errors during aspecified time interval.Three other metrics can be calculated during extended testing or after thesystem is in production. They are:MTTFF (Mean Time to First Failure)MTTFF = The number of time intervals the system is operable until its firstfailure (functional failure only).MTBF (Mean Time Between Failures)MTBF = Sum of the time intervals the system is operableMTTR (Mean Time To Repair)MTTR = sum of the time intervals required to repair the systemThe number of repairs during the time periodMetrics.
  15. 15. Your Partner for Professional Successhttp://www.techpartnerz.comEnd of session 2
  16. 16. Your Partner for Professional Successhttp://www.techpartnerz.comAbout TechPartnerzTechPartnerz is an IIT NIT alumni company providingend to end IT training solutions to Corporates, workingprofessionals and FreshersTechPartnerz provides certification training programs forITIL-Foundation, ITIL-Intermediate, PRINCE2-Foundation,PRINCE2-Practitioner, COBIT 5, Cloud Computing etcOur Software Training Portfolio includes training on QTP,Selenium, Loadrunner, Jmeter, SoapUI etc.
  17. 17. Your Partner for Professional Successhttp://www.techpartnerz.comThank YouFor any queries feel free to contact TechPartnerzinfo@techpartnerz.comFollow TechPartnerz on facebook, Linkedin, twitter