Software

Download as
 PPT
Presentation Description 

PPt to Vedio

By:
 (1 month(s) ago)  
hi.... itz nyc ppt... s can u plz send it to me on jyotikasharma18@yahoo.com???? plz plz plz....

By:
 (4 month(s) ago)  
hi can you plz send me this presentation to programsrelated@gmai
l.com.

By:
 (9 month(s) ago)  
HI its nice testing .ppt document can you please send me on pankaj.kumar@kleward.com

By:
 (10 month(s) ago)  
HI, I will really appreciate if you can forward me this excellent presentation on STLC. Email ID - fasihfarooqui@gmail.com Thanks Fasih

By:
 (11 month(s) ago)  
Please send me the power point to my mail id : mala.h2kinfosys@gmail.com Your presentation is very good and hope i can implement in my work.Thanks

Previous 1 2
Happy Thanksgiving
What's up on authorSTREAM?
Views: 1173
Like it  ( Likes) Dislike it  ( Dislikes)
Added: September 11, 2008 This Presentation is Public 
Presentation Category : Entertainment All Rights Reserved
Presentation Statistics
Views on authorSTREAM: 1095 | Views from Embeds: 78
Presentation Transcript

Software Testing :Software Testing Software Testing is a process of evaluating a system by manual or automation means and verifying that it satisfies the specified requirements


Slide 2:The purpose of software testing is to Detect the existence of defects


Purpose of Testing :Purpose of Testing “The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable fault or weakness in a work product.” “The purpose of testing is to ensure the customers spoken and unspoken expectations are met.”


Purpose of Testing :Purpose of Testing Detect the existence of defects Ensure functionality and usability Increase customer satisfaction Reduce legal liability Ensure compliance with government regulations


Purpose of Testing :Purpose of Testing Find and fix all critical defects prior to release Verify boundary conditions are not exceeded on a given field To reduce support calls on new product releases by 25% over previous years


Types of Testing :Types of Testing Manual & Automation


Manual Testing :Manual Testing It is the oldest and most rigorous type of Software Testing. Manual testing requires a tester to perform manual test operations on the test software without the help of Test Automation


Manual Testing Cont’d.. :Manual Testing Cont’d.. Manual Testing is done by Writing Test Cases without the help of any tools


Automation testing :Automation testing The type of testing that uses Automation tools


Quality :Quality The quality of a product or service refers to the perception of the degree to which the product or service meets the customer's expectations.


What is Quality ? :What is Quality ? Quality can be defined as Degree of excellence - Oxford dictionary Fitness for purpose - Edward Deming Best for the customer’s use and selling price - Feigenbaum The totality of characteristics of an entity that bear on its ability to satisfy stated or implied needs - ISO


cont’d.. :cont’d.. How a Product developer will define quality - The product which meets the customer requirements. How Customer will define Quality - Required functionality is provided with user friendly manner.


Quality Assurance :Quality Assurance Test and QA activities start early in the software development life cycle.  Quality is built into the solution: “Do it right the first time.” Each step or phase is validated before moving ahead to the next step or phase. Repeatable processes are established and used by all like projects. Processes are continuously reviewed and improved


Slide 14:Software testers are referred as Quality Assurance Analyst


When to start Testing :When to start Testing Testing early in the life cycle reduces the errors. Test deliverables are associated with every phase of development. Specifications are the largest bug producer.


When to stop Testing? :When to stop Testing? "When to stop testing" is one of the most difficult questions to a test engineer. The following are few of the common Test Stop criteria: All the high priority bugs are fixed. The rate at which bugs are found is too small. The testing budget is exhausted. The project duration is completed. The risk in the project is under acceptable limit.


Goal of a Tester :Goal of a Tester The goal of Software Tester is to find bugs, find them as early as possible, and make them sure they are fixed


Quality Control :Quality Control It is the process by which product quality meets applicable standards and the action taken when non-conformance is detected.


Quality Tools :Quality Tools Problem Identification Tools 1. PARETO ANALYSIS 2.CAUSE AND EFFECT DIAGRAM ( FISHBONE DIAGRAM)


PROBLEM ANALYSIS TOOLS :PROBLEM ANALYSIS TOOLS CHECK LIST CONTROL CHARTS HISTOGRAM SCATTER DIAGRAM /PLOT STRATIFICATION


SOFTWARE PROCESS :SOFTWARE PROCESS Plan Do Check Action


Slide 22:Plan: Identify the problem Analyze the problem Do: develop a solution and implement the solution


Slide 23:Check: Evaluate the results Action : Standardize the solution


various types of reviews :various types of reviews Management Reviews, Technical Reviews, Inspections, Walkthroughs and Audits.


Test Standards :Test Standards SEI = ‘Software Engineering Institute’ at Carnegie-Mellon University; initiated by the U.S. Defense Department to help improve software development processes.


Standards Cont’d.. :Standards Cont’d.. CMM = ‘Capability Maturity Model’, developed by the SEI. It’s a model of 5 levels of organizational ‘maturity’ that determine effectiveness in delivering quality software. It is geared to large organizations such as large U.S. Defense Department contractors.


Standards Cont’d.. :Standards Cont’d.. Level 1 - characterized by chaos, periodic panics, and heroic efforts required by individuals to successfully complete projects. Level 2 - software project tracking, requirements management, realistic planning, and configuration management processes are in place; successful practices can be repeated.


Standards Cont’d.. :Standards Cont’d.. Level 3 - standard software development and maintenance processes are integrated throughout an organization Level 4 - metrics are used to track productivity, processes, and products. Project performance is predictable, and quality is consistently high.


Standards Cont’d.. :Standards Cont’d.. Level 5 - the focus is on continuous process improvement. The impact of new processes and technologies can be predicted and effectively implemented when required.


Std cont’d.. :Std cont’d.. ISO = ‘International Organization for Standards’ - The ISO 9001, 9002, and 9003 standards concern quality systems that are assessed by outside auditors, and they apply to many kinds of production and manufacturing organizations, not just software. The most comprehensive is 9001, and this is the one most often used by software development organizations. It covers documentation, design, development, production, testing, installation, servicing, and other processes.


HLD & LLD :HLD & LLD High Level Designing: SYSTEM DESIGNING SCREEN SHOTS Low level Designing: Entity Relationship Logics, codings


Why TMM :Why TMM The TIM will contain a set of maturity levels through which an organization can progress toward testing process maturity, a set of recommended practices at each level of maturity, and an assessment model that will allow organizations to evaluate and improve their testing process.


Slide 33:A set of defined testing policies. A test planning process. A test life cycle. A test group. A test process improvement group. A set of test-related metrics. Tools and equipment. Controlling and tracking. Product quality control.


TMM Levels :TMM Levels Level 5:Optimization, Defect Prevention, and Quality Control Level 4:Management and Measurement Level 3:Integration Level 2:Phase Definition Level 1:Initial


Software Development life cycle :Software Development life cycle Different models : Waterfall model V-model Spiral Model Rapid Application development


Water Fall MODEL :Water Fall MODEL The waterfall model is a sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements,Design, Development, testing (validation), implementation and maintanence.


Spiral model :Spiral model The spiral model, also known as the “Spiral lifecycle model”, is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive, and complicated projects.


Rapid Application Development :Rapid Application Development


V-Model :V-Model


Static Testing :Static Testing Static testing is a form of software testing where the software isn't actually used. This is in contrast to dynamic testing. It is generally not detailed testing, but checks mainly for the sanity of the code, algorithm, or document. It is primarily syntax checking of the code or and manually reading of the code or document to find errors.


Static Testing :Static Testing The Verification activities fall into the category of Static Testing. During static testing, you have a checklist to check whether the work you are doing is going as per the set standards of the organization


Dynamic Testing :Dynamic Testing Dynamic Testing involves working with the software, giving input values and checking if the output is as expected


Management Concepts :Management Concepts Configuration Management Requirement Management Project Management


Project Management :Project Management Project Planning Project monitoring and control Software requirements Risk management Software process Problems in software projects


Slide 45:The process of project compliance with policies and procedures is quality Audits


Slide 46:The processes includes all activities of the performing organization that determines policies and responsibilites of a project is Project quality management


Testing levels :Testing levels Unit testing Integration testing System testing User Acceptance Testing


Black Box Technique :Black Box Technique A software testing technique whereby the internal workings of the item being tested are not known by the tester.


Black Box Cont’d… :Black Box Cont’d… For example, in a black box test on software design the tester only knows the inputs and what the expected outcomes should be and not how the program arrives at those outputs


Black Box Testing Techniques :Black Box Testing Techniques 1) Boundary Value Analysis  2) Equivalence Partitioning


Boundary Value Analysis :Boundary Value Analysis Boundary Value Analysis is a technique of black box testing in which input values at the boundaries of the input domain are tested.


Equivalence Partitioning :Equivalence Partitioning Equivalence Partitioning is designed to minimize the number of test cases by dividing tests in such away that the system is expected to act the same way for all tests of each equivalence portion. Test inputs would be selected from each partition.


White Box Technique :White Box Technique Statement Coverage: Execute all statements at least once. Decision Coverage: Execute each decision direction at least once. Condition Coverage: Execute each decision with all possible outcomes at least once. Decision/Condition Coverage:Execute all possible combinations of condition outcomes in each decision. Treat all iterations as two-way conditions exercising the loop zero times and one time.


Grey Box technique :Grey Box technique Grey box testing is a software testing technique that uses a combination of black box testing and white box testing. Gray box testing is not black box testing, because the tester does know some of the internal workings of the software under test. In grey box testing, the tester applies a limited number of test cases to the internal workings of the software under test. In the remaining part of the grey box testing, one takes a black box approach in applying inputs to the software under test and observing the outputs.


Incremental Testing :Incremental Testing Incrementally integration testing can be split in to a) Top-down Testingb) Bottom-up Testingc) Sandwich (Hybrid) Testing


Top-down Testing: :Top-down Testing: In Top-down Testing, higher level modules are tested. If lower modules required to make up the system are not yet available then, stubs are used to simulate their activity. Stub: Small software placed in to a program that provides a common function.


Bottom-up Testing: :Bottom-up Testing: In Bottom-up testing, lower level modules are tested. If the higher level modules required to make up the system are not yet available then, drivers are used to simulate their activity. Driver: Drivers are simple program designed specifically for testing that make calls to these lower layers.


Sandwich Testing: :Sandwich Testing: Sandwich testing is a hybrid between Bottom-up and Top-down testing. It will test the user interface in isolation using Stubs and test the very lowest functions using drivers.


Verification & Validation :Verification & Validation Software Verification is the process of ensuring that software being developed or changed will satisfy functional and other requirements (validation)


VERIFICATION PROCESS :VERIFICATION PROCESS In-Process Reviews – look at the product during a specify time period of a life cycle, such as during the design activity Decision-point or Phase-end Reviews – look at the product for the main purpose of determining whether to continue with planned activities. They are held at the end of each phase, in a semiformal or formal review format.


Slide 61:Post Implementation Reviews are held after implementation is complete to audit the process based on actual results. Post-implementation reviews are also known as “postmortems”, and are held to assess the success of the overall process after release and identify and opportunities for process improvement


Slide 62:Validation is the process in which each step in the process of building the software yields the right products (verification)


Good Test Case :Good Test Case A Good Test Case is one that has a high probability to find an error


Software Testing Life Cycle :Software Testing Life Cycle Software testing life cycle identifies what test activities to carry out and when to accomplish those test activities.


Software Testing Life Cycle :Software Testing Life Cycle Test Planning, Test Analysis, Test Design, Construction and verification, Testing Cycles, Final Testing and Implementation Post Implementation.


TEST PLAN :TEST PLAN This is a document stating the overall approach of the testing activity


Slide 67:Objective/goal Strategy Roles and responsibilities Time schedule Risk analysis Resources Test environment Communication approach


Risk Analysis :Risk Analysis Software Risks Business Risks Testing Risks Premature Release Risk Risk Methods


Test log :Test log A chronological record of all relevant details about the execution of a test.


Test reports :Test reports Eight Interim Reports: Functional Testing Status Functions Working Timeline Expected verses Actual Defects Detected Timeline Defects Detected verses Corrected Gap Timeline Average Age of Detected Defects by Type Defect Distribution Relative Defect Distribution Testing Action


Three Objectives: :Three Objectives: Define Scope of Testing Present Test Results Draw Conclusions/Recommendations


Two Goals: :Two Goals: Provide Data for Determination of Readiness by Customer Provide Data for Long Term Detection of Problem Functions


Defect Tracking: :Defect Tracking: This is very important to ensure the Quality of the end Product. As test cases are executed at various levels defects if any are found in the Software being tested. The Defects are logged and data is collected.


Defect tracking :Defect tracking Defect ID number Defect name/type Defect severity Defect priority Defect status Program or component where defect was found Person assigned to correct the defect Date and Time tracking defects Severity Vs Priority


Bug life cycle :Bug life cycle The duration or time span between the first time bug is found(‘New”) and closed successfully (‘closed’),rejected, postponed or deferred is called as “Bug/Error Life Cycle’.


Metrics: :Metrics: A standard of measurement. Software metrics are the statistics describing the structure or content of a program.


Test Metrics :Test Metrics A metric is a mathematical number that shows a relationship between two variables. It is a quantitative measure of the degree to which a system, component or process possesses a given attribute. Software Metrics are measures that are used to quantify the software, software development resource and software development process.


Testing Principles :Testing Principles Purpose of Software Testing Testing Defined Testing Concepts/techniques Requirements Test Scenarios Test cases Test scripts/procedures Strategies for Software Testing Black box/Glass box/Gray box testing


Documentation :Documentation Test plan Test design specification Test case specification Test procedure specification Test status Test logs Test incident reports Test summary reports


Test plan :Test plan Define testing scope and objectives Testing methodology Identify required resources Identify the features and functions to test Identify risk factors Establish testing schedule


Test log :Test log The purpose of the test log is to provide a chronological record of details about execution of test.


Test summary report :Test summary report To summarize the results of the designated testing activities and to provide evaluation based on the results


Slide 83:Special testing types


Performance Testing: :Performance Testing: Performance testing is a class of tests implemented and executed to characterize and evaluate the performance related characteristics of the target-of-test such as the timing profiles, execution flow, response times, and operational reliability and limits.


Benchmark testing :Benchmark testing Compares the performance of new or unknown target-of-test to a known reference standard such as existing software or measurements.


Load testing :Load testing The test used to validate the operational limits of a web application under varying workloads while the system-under-test remains constant


Stress testing :Stress testing The test used to evaluate how the web application responds under abnormal or extreme conditions. Stresses on the web application may include extremely high number of users and resources


Acceptance testing :Acceptance testing Testing to ensure that the system meets the needs of the organization and the end user


Performance testing :Performance testing We evaluate the performance of the software or web applications through various techniques. Some of the key procedures adopted are Load/Stress Testing Performance Monitoring & Tuning Endurance & Soak Testing Scalability and Volume Testing and Other non functional testing


Usability testing :Usability testing Providing the most easy to use application, with greater look and feel, enhancement suggestions etc... we can also direct your attention to the speed and manner on which the page downloads thus creating an upscale version of your solution and making it more efficient.


Security testing :Security testing Security loop holes available in applications are identified; most of the cases that create a vulnerable situation are the resultant of poor habits in programmers. These are practice generated mistakes that are consistently observed.


Disaster recovery testing :Disaster recovery testing Disaster recovery planning need not me maintained only for large scale companies with Data Center level setups, it also applies for small and medium scale enterprises as any data that becomes a vital information should never be lost.


Business continuity testing :Business continuity testing Disaster Management and Recovery Walk through testing Scenario testing Communication testing


Web and lab testing :Web and lab testing Any web solution has one element in common i.e. they are not bound by boundaries. Web applications are accessed through various browsers and at different bandwidth speeds. The application as such comprises of the multi media or the design graphics, contents and functional aspects associated with them.


Web and lab testing :Web and lab testing We provide you with test results on most popular to least known but very persistent usage environments and help make your solutions accessible from any where in the same level of quality and conformity everywhere


Web Based Testing: :Web Based Testing: Web testing is the name given to Software Testing that focuses on Web Applications, and is one of the fastest growing areas of software testing.