Category: Entertainment

Presentation Description

No description available.


Presentation Transcript

PowerPoint Presentation:

Testing Concepts

Introduction to Testing:

Introduction to Testing   What is Testing?   Why Testing is required?   Who is involved?

What is Testing?:

 What is Testing? Testing is a “ Process of analyzing and evaluating a system with the intention of finding a defect ” Or “ Process of exercising or evaluating a system component by manual or automated means to verify that it satisfies specified requirement ”

Goals & Objectives of Testing :

Goals & Objectives of Testing  The goal of testing is to uncover all the errors or defects present in the application prior to its deployment in customer place  Identify and describe the actual behavior of the application under test.  To assess the quality of the software to determine whether it meets customer expectation.

What is Quality?:

What is Quality?   Meeting customer requirements for the first time and every time  Compliance to the specified standards  Delivering the product on time and within the budget

Quality Assurance:

Quality Assurance “The planned and systematic set of activities that ensure that software life cycle processes and products conform to requirements, standards, and procedures [IEEE 610.12 IEEE Standard Glossary of Software Engineering Terminology].”

Quality Assurance:

Quality Assurance Quality Assurance consists of the following tasks  Identifying and documenting the necessary standards and procedures the software Process has to comply in the current project to achieve quality.  Monitoring the engineering activities periodically to verify compliance with the Identified standards through reviews and audits (Verification).

Quality Control:

Quality Control Software Quality Control (SQC) is a complimentary activity to SQA. QC validates a work product by comparing it with the requirements specified for it. QC process is to identify the variations in application from the specification, Hence it is also called as “Defect Prevention Activity”.

Cost of Quality :

Cost of Quality Quality costs are the costs associated with preventing, finding, and correcting defective work These costs are huge, running at 20% - 40% of sales One of the key functions of a Quality Engineer is the reduction of the total cost of quality associated with a product

Cost of Quality:

Cost of Quality Prevention Costs: Costs of activities that are specifically designed to prevent poor quality. Examples of "poor quality" include coding errors, design errors, mistakes in the user manuals, as well as badly documented or unmaintainably complex code. Appraisal Costs: Costs of activities designed to find quality problems, such as code inspections and any type of testing Failure Costs: Costs that result from poor quality, such as the cost of fixing bugs and the cost of dealing with customer complaints

Cost of Quality:

Cost of Quality Internal Failure Costs: Failure costs that arise before your company supplies its product to the customer. Along with costs of finding and fixing bugs are many internal failure costs borne by groups outside of Product Development. External Failure Costs: Failure costs that arise after your company supplies the product to the customer, such as customer service costs, or the cost of patching a released product and distributing the patch

Cost of Quality:

Cost of Quality

Why testing is required?:

 Why testing is required? Software is still developed by humans, and there is a general agreement to the fact that “ humans are prone to do errors ”. These errors done by humans are manifested to faulty operation by software in operational use, which is in turn results into a software failure. Looking at the magnitude of the impact of these failures, testing is necessary and essential activity in a software development process.

Why Defects Occur:

Why Defects Occur Software can have defects because of any of the following reasons Miscommunication or no communication - as to specifics of what an application should or shouldn't do (the application's requirements).  Software complexity - the complexity of current software applications can be difficult to comprehend for anyone without experience in modern-day software development.  Programming errors - programmers, like anyone else, can make mistakes.

Why Defects Occur:

Why Defects Occur software development tools - visual tools, class libraries, compilers, scripting tools, etc. often introduce their own bugs or are poorly documented, resulting in added bugs changing requirements - If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of coordinating changes may result in errors. Poorly documented code - it's tough to maintain and modify code that is badly written or poorly documented; the result is bugs.

Importance of Testing:

Importance of Testing The following list suggests some of the potential fallouts of an untested or under-tested system Legal suits against the entrepreneur due to a faulty transaction system. Losses include millions of dollars, not to mention the entrepreneur’s reputation.  Loss of critical data from the database can result in untraceable transactions. This could again invite legal action and losses. Insecure transactions can cause losses to customers and may result in the withdrawal of certification by the security certification agency. System breakdown if the system has not been tested for load. A system breakdown results in loss of time due to restoration of service. Fixing the error can involve both direct and indirect costs.

Who is involved?:

 Who is involved? Resources & Responsibilities Suggested Staffing Requirements for the QA Functions:  Test Manager  Business Analyst  Test Analyst

Resources & Responsibilities:

Resources & Responsibilities  Test Manager  Test Methodology for project Total Quality  Project Lead Liaison  Oversees the Life Cycle and Staff  Business Analyst  User Requirements  System Documentation  Liaison Responsibilities  Test conditions development

Tester Roles & Characteristics:

Tester Roles & Characteristics A tester is responsible for  Setting up and executing the tests  Evaluating test execution  Recovering from errors

Tester Roles & Characteristics:

Tester Roles & Characteristics A good test engineer has A 'test to break' attitude, An ability to take the point of view of the customer,  A strong desire for quality, and an attention to detail. Tact and diplomacy in maintaining a cooperative relationship with developers, An ability to communicate with both technical (developers) and on- technical (customers, management) people is useful. A deeper understanding of the software development process, Judgement skills to assess high-risk areas of an application on which to focus testing efforts when time is limited.

When testing should occur?:

When testing should occur?    What is SDLC?   What are Different SDLC models? 

What is SDLC:

What is SDLC From the inception of an idea to develop a product to till that product goes out of use the software development process passes through a set of phases iteratively called as “Software Development Life Cycle (SDLC)”. It includes aspects such as initial concept, requirements analysis, functional design, internal design, documentation planning, test planning, coding, document preparation, integration, testing, maintenance, updates, retesting, phase-out, and other aspects.

SDLC Phases:

SDLC Phases System/Information Engineering and Modeling Software Requirements Analysis Systems Analysis and Design Code Generation Testing Maintenance

System/Information Engineering and Modeling :

System/Information Engineering and Modeling System is the basic and very critical requirement for the existence of software in any entity. This system view is essential when software must interface with other elements such as hardware, people and other resources.

Software Requirement Analysis :

Software Requirement Analysis The development team visits the customer and studies their system By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, and target dates. The essential purpose of this phase is to find the need and to define the problem that needs to be solved

System Analysis and Design :

System Analysis and Design The software's overall structure is defined. A software development model is created. Any glitch in the design phase could be very expensive to solve in the later stage of the software development The logical system of the product is developed in this phase.

Code Generation :

Code Generation The design must be translated into a machine-readable form. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen.

PowerPoint Presentation:

Testing Software testing is a process used to identify the correctness, completeness and quality of developed computer software. Once the code is generated, the software program testing begins. Different testing methodologies are available to unravel the bugs that were committed during the previous phases.

Maintenance :

Maintenance Software will definitely undergo change once it is delivered to the customer. The changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period. As the system is used, it is modified either to correct errors or to augment the original system .

Different Development models:

Different Development models Waterfall Model The Incremental Model The RAD Model Evolutionary Process Models Prototyping Spiral Model V-Model

PowerPoint Presentation: