Here is one way to drill down from the business requirements to test scripts for an ATM example:
Business Requirement:
- "ATM must do withdrawals"
Test Requirement:
- The ATM should allow a user to withdraw cash within the allowed limits.
Test Scenarios:
1. Valid withdrawal within limits
2. Withdrawal exceeds daily limit
3. Withdrawal is not a multiple of $20
4. Withdrawal amount is less than minimum ($20)
5. Withdrawal amount is greater than maximum ($300)
Test Procedure/Script:
1. Valid withdrawal
a. Insert card
b. Enter pin
c. Select
The document discusses emergent properties in socio-technical systems. It defines emergent properties as properties of a system as a whole that arise from the relationships and interactions between components, rather than properties of the individual components. Emergent properties only emerge once a system is integrated and can include functional properties like a bicycle's ability to transport, as well as non-functional properties like reliability, security, and volume. Reliability in particular is an emergent property, as failures can occur due to unforeseen interactions between components. The document uses examples to illustrate different types of emergent properties.
This lecture is about the detail definition of software quality and quality assurance. Provide details about software tesing and its types. Clear the basic concepts of software quality and software testing.
The document discusses various topics related to software testing including:
1. Software testing helps improve software quality by testing conformance to requirements and is important to uncover errors before delivery to customers.
2. Testing involves specialists at different stages from early development through delivery and includes unit testing of individual components, integration testing of combined components, and system testing of the full system.
3. Proper testing methods include black box testing of inputs/outputs, white box testing of code structures, and testing at different levels from units to full system as well as by independent third parties.
Architectural models use views to document a system's architecture from different perspectives. Views describe a system's structure and can be used to design and implement more detailed designs. There are four fundamental views in software architecture: the logical view shows key abstractions and objects, the process view shows system components and interactions, the development view decomposes software into components, and the physical view maps software to hardware. Together these views form the "4+1" model for documenting a system's architecture.
System dependability is a composite system property that reflects the degree of trust users have in a system. It is determined by availability, reliability, safety, and security. Dependability is subjective as it depends on user expectations - a system deemed dependable by one user may be seen as unreliable by another if it does not meet their expectations. Formal specifications of dependability do not always capture real user experiences.
The document defines an SRS as the official statement of what system developers should implement, providing a complete description of the system behavior. An SRS precisely defines the software product and is used to understand requirements to design the software. It includes the purpose, product scope, features, interfaces, and other functional and non-functional requirements. The SRS benefits include establishing agreement between customers and suppliers, reducing development effort, and providing a baseline for validation.
The document discusses emergent properties in socio-technical systems. It defines emergent properties as properties of a system as a whole that arise from the relationships and interactions between components, rather than properties of the individual components. Emergent properties only emerge once a system is integrated and can include functional properties like a bicycle's ability to transport, as well as non-functional properties like reliability, security, and volume. Reliability in particular is an emergent property, as failures can occur due to unforeseen interactions between components. The document uses examples to illustrate different types of emergent properties.
This lecture is about the detail definition of software quality and quality assurance. Provide details about software tesing and its types. Clear the basic concepts of software quality and software testing.
The document discusses various topics related to software testing including:
1. Software testing helps improve software quality by testing conformance to requirements and is important to uncover errors before delivery to customers.
2. Testing involves specialists at different stages from early development through delivery and includes unit testing of individual components, integration testing of combined components, and system testing of the full system.
3. Proper testing methods include black box testing of inputs/outputs, white box testing of code structures, and testing at different levels from units to full system as well as by independent third parties.
Architectural models use views to document a system's architecture from different perspectives. Views describe a system's structure and can be used to design and implement more detailed designs. There are four fundamental views in software architecture: the logical view shows key abstractions and objects, the process view shows system components and interactions, the development view decomposes software into components, and the physical view maps software to hardware. Together these views form the "4+1" model for documenting a system's architecture.
System dependability is a composite system property that reflects the degree of trust users have in a system. It is determined by availability, reliability, safety, and security. Dependability is subjective as it depends on user expectations - a system deemed dependable by one user may be seen as unreliable by another if it does not meet their expectations. Formal specifications of dependability do not always capture real user experiences.
The document defines an SRS as the official statement of what system developers should implement, providing a complete description of the system behavior. An SRS precisely defines the software product and is used to understand requirements to design the software. It includes the purpose, product scope, features, interfaces, and other functional and non-functional requirements. The SRS benefits include establishing agreement between customers and suppliers, reducing development effort, and providing a baseline for validation.
Students are struggling in Software Testing so i have decided to make a presentation on Testing here is the general topic from testing. I hope it will help you in your learning about testing please rate it
The document discusses software testing concepts like verification, validation, whitebox testing, and blackbox testing. Verification ensures the product satisfies specifications, while validation ensures it meets customer requirements. Whitebox testing uses internal knowledge to test code, while blackbox testing treats the system as a black box without internal knowledge. The document also covers different types of testing like unit, integration, and functional testing.
The document provides an overview of software testing techniques and strategies. It discusses unit testing, integration testing, validation testing, system testing, and debugging. The key points covered include:
- Unit testing involves testing individual software modules or components in isolation from the rest of the system. This includes testing module interfaces, data structures, boundary conditions, and error handling paths.
- Integration testing combines software components into clusters or builds to test their interactions before full system integration. Approaches include top-down and bottom-up integration.
- Validation testing verifies that the software meets the intended requirements and customer expectations defined in validation criteria.
- System testing evaluates the fully integrated software system, including recovery, security, stress,
The document discusses a trainee's progress in typing speed and jobs applied over 3 weeks, achieving targets of 21, 23, and 27 words per minute and applying to 3 companies while waiting to hear back on 2 applications. It also provides an overview of method overloading and constructor overloading in Java with examples.
Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a computer program/application/product:
• meets the requirements that guided its design and development,
• works as expected,
• can be implemented with the same characteristics,
• and satisfies the needs of stakeholders.
Software Development Process Cycle:-
PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.
DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.
CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.
ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.
The document contains slides from a lecture on software engineering process models. It discusses the waterfall model, V-model, incremental model and evolutionary models. The waterfall model follows sequential phases from requirements to maintenance without overlap. The V-model pairs each development phase with a testing phase. The incremental model combines linear and parallel activities to deliver software in increments. Evolutionary models take an iterative approach where software evolves over time through incremental improvements.
This document discusses fault tolerance in computing systems. It defines fault tolerance as building systems that can continue operating satisfactorily even in the presence of faults. It describes different types of faults like transient, intermittent, and permanent hardware faults. It also discusses concepts like errors, failures, fault taxonomy, attributes of fault tolerance like availability and reliability. It explains various techniques used for fault tolerance like error detection, system recovery, fault masking, and redundancy.
This document discusses different file models and methods for accessing files. It describes unstructured and structured file models, as well as mutable and immutable files. It also covers remote file access using remote service and data caching models. Finally, it discusses different units of data transfer for file access, including file-level, block-level, byte-level, and record-level transfer models.
S.D.L.C (Software Development Life Cycle.)Jayesh Buwa
The document discusses the Software Development Life Cycle (SDLC), which provides an overall framework for managing the software development process. There are two main approaches to the SDLC - predictive and adaptive. All projects use some variation of the SDLC, which typically includes phases like requirements definition, design, development, testing, deployment, and maintenance. Common SDLC models discussed include waterfall, incremental, spiral, and agile methods. The strengths and weaknesses of different models are compared.
The document provides code examples for several basic Java programs, including:
1) A program that compares two numbers and prints which is greater.
2) A program that takes a number as input and prints all even numbers between 1 and the input.
3) Programs that calculate the area and perimeter of shapes like circles and rectangles.
4) Programs that calculate the factorial of a number and construct a triangle shape using asterisks.
5) A program that finds and lists all leap years between two given years.
The document describes the waterfall model of software development. It begins by listing the presenters and defining sequential and incremental software development models. It then discusses the waterfall model in more detail, describing it as a linear sequential process where each phase must be completed before the next begins. The document outlines the history, use cases, diagram, phases and advantages/disadvantages of the waterfall model.
This document discusses various implementation issues in software development, including reuse, configuration management, and host-target development. It notes that modern software is often constructed through reuse and that configuration management is needed to track different software versions. Development usually occurs on a host system while execution is on a target system, which can have different architectures and platforms. The document provides details on different levels of reuse, configuration management activities, tools that aid development, and challenges that can arise with reuse and managing development across host-target systems.
Testing software is conducted to ensure the system meets user needs and requirements. The primary objectives of testing are to verify that the right system was built according to specifications and that it was built correctly. Testing helps instill user confidence, ensures functionality and performance, and identifies any issues where the system does not meet specifications. Different types of testing include unit, integration, system, and user acceptance testing, which are done at various stages of the software development life cycle.
Software testing is an important phase of the software development process that evaluates the functionality and quality of a software application. It involves executing a program or system with the intent of finding errors. Some key points:
- Software testing is needed to identify defects, ensure customer satisfaction, and deliver high quality products with lower maintenance costs.
- It is important for different stakeholders like developers, testers, managers, and end users to work together throughout the testing process.
- There are various types of testing like unit testing, integration testing, system testing, and different methodologies like manual and automated testing. Proper documentation is also important.
- Testing helps improve the overall quality of software but can never prove that there
This document discusses software quality assurance. It defines software quality and describes two types - quality of design and quality of conformance. It discusses quality concepts at the organizational, project, and process levels. It also describes software reviews, their types and purposes. Software quality assurance aims to establish organizational procedures and standards to achieve high quality software. Key SQA activities include applying technical methods, reviews, testing, enforcing standards and measurement.
This document provides an overview of software testing concepts and processes. It discusses the importance of testing in the software development lifecycle and defines key terms like errors, bugs, faults, and failures. It also describes different types of testing like unit testing, integration testing, system testing, and acceptance testing. Finally, it covers quality assurance and quality control processes and how bugs are managed throughout their lifecycle.
This document discusses threads and multithreaded programming. It covers thread libraries like Pthreads, Windows threads and Java threads. It also discusses implicit threading using thread pools, OpenMP and Grand Central Dispatch. Issues with multithreaded programming like signal handling, thread cancellation and thread-local storage are examined. Finally, thread implementation in Windows and Linux is overviewed.
This document discusses software engineering and software testing. Software engineering is concerned with developing large software through applying engineering principles. The challenge is to produce high quality software within budget and schedule constraints. Software testing is the process of finding errors in software and involves both manual and automated testing. Different types of testing include unit, integration, system, and acceptance testing. The goal of testing is to uncover defects early and reduce costs.
The document discusses object-oriented testing strategies and techniques. It covers unit testing of individual classes, integration testing of groups of classes, validation testing against requirements, and system testing. Interclass testing focuses on testing collaborations between classes during integration. Test cases should uniquely identify the class under test, state the test purpose and steps, and list expected states, messages, exceptions, and external dependencies.
This document provides an overview of software testing techniques, focusing on black-box testing. It defines software testing as verifying that a software product meets requirements and identifying bugs. The two main types of testing are black-box testing, which ignores internal code structure, and white-box testing, which considers internal structure. Six types of testing are discussed: unit testing examines individual code units; integration testing verifies code units work together; functional and system testing ensure requirements are met; and stress, performance, and usability testing evaluate non-functional properties. Acceptance testing involves customers verifying requirements are fulfilled.
Students are struggling in Software Testing so i have decided to make a presentation on Testing here is the general topic from testing. I hope it will help you in your learning about testing please rate it
The document discusses software testing concepts like verification, validation, whitebox testing, and blackbox testing. Verification ensures the product satisfies specifications, while validation ensures it meets customer requirements. Whitebox testing uses internal knowledge to test code, while blackbox testing treats the system as a black box without internal knowledge. The document also covers different types of testing like unit, integration, and functional testing.
The document provides an overview of software testing techniques and strategies. It discusses unit testing, integration testing, validation testing, system testing, and debugging. The key points covered include:
- Unit testing involves testing individual software modules or components in isolation from the rest of the system. This includes testing module interfaces, data structures, boundary conditions, and error handling paths.
- Integration testing combines software components into clusters or builds to test their interactions before full system integration. Approaches include top-down and bottom-up integration.
- Validation testing verifies that the software meets the intended requirements and customer expectations defined in validation criteria.
- System testing evaluates the fully integrated software system, including recovery, security, stress,
The document discusses a trainee's progress in typing speed and jobs applied over 3 weeks, achieving targets of 21, 23, and 27 words per minute and applying to 3 companies while waiting to hear back on 2 applications. It also provides an overview of method overloading and constructor overloading in Java with examples.
Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a computer program/application/product:
• meets the requirements that guided its design and development,
• works as expected,
• can be implemented with the same characteristics,
• and satisfies the needs of stakeholders.
Software Development Process Cycle:-
PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.
DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.
CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.
ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.
The document contains slides from a lecture on software engineering process models. It discusses the waterfall model, V-model, incremental model and evolutionary models. The waterfall model follows sequential phases from requirements to maintenance without overlap. The V-model pairs each development phase with a testing phase. The incremental model combines linear and parallel activities to deliver software in increments. Evolutionary models take an iterative approach where software evolves over time through incremental improvements.
This document discusses fault tolerance in computing systems. It defines fault tolerance as building systems that can continue operating satisfactorily even in the presence of faults. It describes different types of faults like transient, intermittent, and permanent hardware faults. It also discusses concepts like errors, failures, fault taxonomy, attributes of fault tolerance like availability and reliability. It explains various techniques used for fault tolerance like error detection, system recovery, fault masking, and redundancy.
This document discusses different file models and methods for accessing files. It describes unstructured and structured file models, as well as mutable and immutable files. It also covers remote file access using remote service and data caching models. Finally, it discusses different units of data transfer for file access, including file-level, block-level, byte-level, and record-level transfer models.
S.D.L.C (Software Development Life Cycle.)Jayesh Buwa
The document discusses the Software Development Life Cycle (SDLC), which provides an overall framework for managing the software development process. There are two main approaches to the SDLC - predictive and adaptive. All projects use some variation of the SDLC, which typically includes phases like requirements definition, design, development, testing, deployment, and maintenance. Common SDLC models discussed include waterfall, incremental, spiral, and agile methods. The strengths and weaknesses of different models are compared.
The document provides code examples for several basic Java programs, including:
1) A program that compares two numbers and prints which is greater.
2) A program that takes a number as input and prints all even numbers between 1 and the input.
3) Programs that calculate the area and perimeter of shapes like circles and rectangles.
4) Programs that calculate the factorial of a number and construct a triangle shape using asterisks.
5) A program that finds and lists all leap years between two given years.
The document describes the waterfall model of software development. It begins by listing the presenters and defining sequential and incremental software development models. It then discusses the waterfall model in more detail, describing it as a linear sequential process where each phase must be completed before the next begins. The document outlines the history, use cases, diagram, phases and advantages/disadvantages of the waterfall model.
This document discusses various implementation issues in software development, including reuse, configuration management, and host-target development. It notes that modern software is often constructed through reuse and that configuration management is needed to track different software versions. Development usually occurs on a host system while execution is on a target system, which can have different architectures and platforms. The document provides details on different levels of reuse, configuration management activities, tools that aid development, and challenges that can arise with reuse and managing development across host-target systems.
Testing software is conducted to ensure the system meets user needs and requirements. The primary objectives of testing are to verify that the right system was built according to specifications and that it was built correctly. Testing helps instill user confidence, ensures functionality and performance, and identifies any issues where the system does not meet specifications. Different types of testing include unit, integration, system, and user acceptance testing, which are done at various stages of the software development life cycle.
Software testing is an important phase of the software development process that evaluates the functionality and quality of a software application. It involves executing a program or system with the intent of finding errors. Some key points:
- Software testing is needed to identify defects, ensure customer satisfaction, and deliver high quality products with lower maintenance costs.
- It is important for different stakeholders like developers, testers, managers, and end users to work together throughout the testing process.
- There are various types of testing like unit testing, integration testing, system testing, and different methodologies like manual and automated testing. Proper documentation is also important.
- Testing helps improve the overall quality of software but can never prove that there
This document discusses software quality assurance. It defines software quality and describes two types - quality of design and quality of conformance. It discusses quality concepts at the organizational, project, and process levels. It also describes software reviews, their types and purposes. Software quality assurance aims to establish organizational procedures and standards to achieve high quality software. Key SQA activities include applying technical methods, reviews, testing, enforcing standards and measurement.
This document provides an overview of software testing concepts and processes. It discusses the importance of testing in the software development lifecycle and defines key terms like errors, bugs, faults, and failures. It also describes different types of testing like unit testing, integration testing, system testing, and acceptance testing. Finally, it covers quality assurance and quality control processes and how bugs are managed throughout their lifecycle.
This document discusses threads and multithreaded programming. It covers thread libraries like Pthreads, Windows threads and Java threads. It also discusses implicit threading using thread pools, OpenMP and Grand Central Dispatch. Issues with multithreaded programming like signal handling, thread cancellation and thread-local storage are examined. Finally, thread implementation in Windows and Linux is overviewed.
This document discusses software engineering and software testing. Software engineering is concerned with developing large software through applying engineering principles. The challenge is to produce high quality software within budget and schedule constraints. Software testing is the process of finding errors in software and involves both manual and automated testing. Different types of testing include unit, integration, system, and acceptance testing. The goal of testing is to uncover defects early and reduce costs.
The document discusses object-oriented testing strategies and techniques. It covers unit testing of individual classes, integration testing of groups of classes, validation testing against requirements, and system testing. Interclass testing focuses on testing collaborations between classes during integration. Test cases should uniquely identify the class under test, state the test purpose and steps, and list expected states, messages, exceptions, and external dependencies.
This document provides an overview of software testing techniques, focusing on black-box testing. It defines software testing as verifying that a software product meets requirements and identifying bugs. The two main types of testing are black-box testing, which ignores internal code structure, and white-box testing, which considers internal structure. Six types of testing are discussed: unit testing examines individual code units; integration testing verifies code units work together; functional and system testing ensure requirements are met; and stress, performance, and usability testing evaluate non-functional properties. Acceptance testing involves customers verifying requirements are fulfilled.
This document provides an overview of software testing techniques, focusing on black-box testing. It defines software testing as verifying that a software product meets requirements and identifying bugs. The two main types of testing are black-box testing, which ignores internal code structure, and white-box testing, which considers it. Six types of testing are discussed: unit testing examines individual code units; integration testing checks code unit interactions; functional and system testing evaluate requirements compliance; and stress, performance, and usability testing evaluate non-functional properties. Acceptance testing involves customer testing against requirements.
Writing Test Cases From User Stories And Acceptance CriteriaHoa Le
The acceptance criteria provides the majority of what needs to be tested from the user story. To achieve maximum test coverage, time should be taken to consider the workflow, boundaries, and negative scenarios based on the acceptance criteria. Writing test cases in this way can help identify requirement gaps, prevent code re-work, and save the entire team from unnecessary headaches by ensuring the test cases remain up-to-date and address all aspects of the user story.
Quality Assurance & Testing in a glimpseTahmid Munaz
This presentation slide has been made in respect of our local market, demand, practice and scope for the beginners in Bangladesh.
There are many things which are need to be discussed widely, cause the points mentioned here are not covering all the stuff as it shown and in some places it depends on context and contradictory thoughts may arise unless you feel free to discuss. I just wanted to give a glimpse giving an Option to everyone to participate the presentation...
The document discusses various software testing and evaluation techniques used to ensure software solutions meet design specifications and are free from errors. It covers topics like unit testing, integration testing, system testing, black box and white box testing, test data generation, benchmarking, and quality assurance.
UNIT-I
Review of Software Engineering: Overview of software evolution, SDLC, Testing Process, Terminologies in
Testing: Error, Fault, Failure, Verification, Validation, Difference between Verification and Validation,
Test Cases, Testing Suite, Test Oracles, Impracticality of Testing All data; Impracticality of testing All
Paths. Verification: Verification methods, SRS verification, Source code reviews, User documentation
verification, and Software project audit, Tailoring Software Quality Assurance Program by Reviews,
Walkthrough, Inspection, and Configuration Audits.
UNIT–II (8)
Functional Testing: Boundary Value Analysis, Equivalence Class Testing, Decision Table Based Testing, Cause
Effect Graphing Technique. Structural Testing: Control flow testing, Path testing, Independent paths, Generation
of graph from program, Identification of independent paths, Cyclomatic Complexity, Data Flow Testing,
Mutation Testing.
UNIT-III (8)
Regression Testing: What is Regression Testing? Regression Test cases selection, reducing the number of test
cases, Code coverage prioritization technique. Reducing the number of test cases: Prioritization guidelines,
Priority category, Scheme, Risk Analysis.
Microsoft az-204 download free demo at dumps cafeJeannieHeldt
DumpsCafe is a Premium Supplier of Real Exam Questions and Certification Exam Dumps. DumpsCafe.com is the ultimate choice for IT students to pass their final exams in a quick time. Visit here:
https://www.dumpscafe.com/Braindumps-AZ-204.html
This publication provides an innovative approach to documenting BDD-based test automation projects.
In particular, it introduces the BddDocumenter tool which merges the Business and Developer/(Test Automater) views of a test automation codebase into consistent and fluent documentation. Both the BDD statements and the Step Definition code can be changed as required, the new documentation can be easily regenerated.
Create a customer complaint management script to guide your employees on their responses. This makes your operation more efficient and increases customer satisfaction.
Ashwin Sugandhi is a software test engineer with over 3 years of experience in manual testing of web and mobile applications. He has expertise in test planning, test case design, test execution, defect logging and tracking. Some of the projects he has worked on include testing e-commerce mobile apps, t-shirt design tools, hunting web portals and price comparison websites. He is proficient in various testing techniques like functional testing, regression testing and user acceptance testing.
The document discusses software review methods and optimal review practices. It describes different review methods from walkthroughs to inspections and their goals and attributes. Inspections are highlighted as the most formal review method, involving preparation, an orientation, planning, a review meeting, rework, and verification stages. The goals of technical reviews are also outlined, including improving quality and knowledge while minimizing costs.
Acceptance criteria are defined by the product owner to verify requirements and are tested prior to delivery. Test cases are derived from acceptance criteria and user stories to specify logical conditions to test. Test scripts take the form of manual instructions or automated scripts to concretely test scenarios outlined in test cases. Together, acceptance criteria, test cases, and test scripts help reduce errors and ensure the delivered software meets the product owner's needs.
B4 u solution_writing test cases from user stories and acceptance criteriab4usolution .
Writing Test Cases From User Stories And Acceptance Criteria:
Overview user Stories
Overview Requirement
Overview Acceptance Criteria
Overview Test Cases
The document discusses software testing and provides details on various testing techniques. It covers verification and validation processes, basics of black box and white box testing, types of testing including unit, integration, functional, system, and acceptance testing. Test cases and how to write good test cases are also explained. Key points covered include the purpose of software testing being to detect differences between inputs and outputs and assess software features to verify quality.
Tested conversion optimization tips to increase sales. Hands-on strategies that you can do yourself which include: usability, A/B testing, web analytics and advertising tools, sustained by software vendors’ case studies.
Effective defect tracking begins with logging all defects systematically throughout the software development lifecycle. This includes attributes of each defect, types of defects, priority and severity levels, and statuses. Analyzing defects by parameters like status, priority, severity and source helps evaluate software quality. Defect reports show trends over time or as a function of parameters. Effective defect tracking reduces costs and enhances quality by identifying issues early.
The document discusses software testing. It defines software testing as verifying and validating that a software application meets requirements and works as expected. The main purposes of testing are verification, validation, and defect finding. Verification ensures the software meets technical specifications, while validation ensures it meets business requirements. Defect finding identifies variances between expected and actual results. The document also discusses different testing methodologies like black box and white box testing and different testing levels like unit, integration, and system testing.
Arcadian Learning is an Industrial Training Company with 50 years of Industry Expertise on Planning, Implementation and Operation of the Networks Offering six months Industrial Training program on Cloud Computing, Telecom, Big Data and Application Development.
http://www.arcadianlearning.com/index.html
2. The Three Determinants of
Profitability
Productivity – the measure of efficiency defined as
the amount of output achieved per unit of input.
Cost of operations .(acquiring, moving , converting
purchased materials throughout the supply chain)
Quality of goods and services that creates
customer satisfaction.
3. Definitions of Quality
Perfection
Consistency
Eliminating waste
Compliance with policies and procedures
Providing good usable pro
Speed of delivery
Doing it right the first time
Pleasing the customers
Total consumer service and satisfaction
The above definitions are only a sample of the answers for
managers from 86 firm ,where asked to define quality
4. Why is Quality The most significant
long term factor of the three ?
Provides organization with competitive edge.
Reduces costs due to returns ,rework and scrap.
Increase productivity ,profits and other measures
of success.
Generates satisfied customers.
Ford car recall from markets in 2002, 5 plants closed
5. Quality Perspectives
Judgmental Perspective
Also known as Transcendent perspective , means
rising above limitations ( excellence ).
Rolex watches, BMW cars
Product-Based Perspective : quantities of product
attributes
Number of cylinders in an engine
User-Based Perspective : fitness for intended use
a sedan car satisfies the need to cruise highways ,
while a 4x4car is more satisfying for hard terrains.
6. Defining Quality according to the viewed
perspective
Value-based definition: quality vs. price
a generic product with low price, might win the
market over a brand name product, if it
performs the same. (use / $) ratio.
Manufacturing-based definition: conformance to
specifications is a key definition for quality , it
provides a means of measurement for Quality.
7. Customer-Driven Quality
“Quality is Meeting or exceeding
customer expectations”
Customers can be...
Consumers
External customers
Internal customers
8. Exercise: WHICH PRESPECTIVE
?!
We will measure the attributes of the software,
e.g. its reliability in terms of mean time
between failures (MBTF),and release when
they reach a specified level e.g. MTBF of 12
hours.
Product-Based Perspective
9. Exercise: WHICH PRESPECTIVE
?!
We will ask the users whether they can carry
out their tasks; if they are satisfied that they
can we will release the software.
User-Based Perspective
10. Exercise: WHICH PRESPECTIVE
?!
We will use a recognized software
development process. We will only release
the software if there are fewer than five
outstanding high-priority defects once the
planned tests are complete.
Manufacturing-based Perspective
11. Exercise: WHICH PRESPECTIVE
?!
We have time-boxed the testing to two weeks
to stay in the project budget.
Value-based Perspective
12. Exercise: WHICH PRESPECTIVE
?!
We like this software! It is fun and it's the latest
thing! So what if it has a few problems? We
want to use it anyway...
Judgmental Perspective
14. A Traditional Testing Approach
Show that the system:
does what it should
doesn't do what it shouldn't
Fastest achievement: easy test cases
Goal: show working
Success: system works
Result: faults left in
15. A Better Testing Approach
Show that the system:
does what it shouldn't
doesn't do what it should
Fastest achievement: difficult test
cases
Goal: find faults
Success: system fails
Result: fewer faults left
in
16. The Testing Paradox
Purpose of testing: to find faults
The best way to build confidence
is to try to destroy it
Purpose of testing: build
confidence
Finding faults destroys confidence
Purpose of testing: destroy confidence
18. So Why Is Testing Necessary?
Because software is likely to have faults
To learn about the reliability of the software
To prove that the software has no faults
Because failures can be very expensive
To avoid being sued by customers
To stay in business
20. Verification and Validation
Consider following specification
A clickable button with name Submet
Verification would be check the design doc
and correcting the spelling mistake.
Otherwise development team will create
button like
21. Verification and Validation
So new specification is
A clickable button with name Submit
Once the code is ready, Validation is done. A
Validation test found – Owing to Validation
testing, the development team will make the
submit button clickable
22. Exercise: Verification and Validation
Requirement specification
User wants to control the lights in 4 rooms by remote
command sent from the UI for each room separately.
Functional specification
The UI will contain 4 checkboxes labeled according to
rooms they control.
When a checkbox is checked, the signal is sent to
corresponding light. A green dot appears next to the
checkbox
When a checkbox is unchecked, the signal (turn off) is
sent to corresponding light. A red dot appears next to
the checkbox.
24. Answer: Finding defects
Typing mistake in heading text of the form
Heading Color Mismatch
Choose User ID label is not required
User id should not contain any special character
Enter User ID label should come in place of labels Choose User ID
Enter Password label should come in place of label Password
Name field should not contain any special character
Confirm password field does not show content in encrypted mode.
Country drop down is not adjacent to its label
Captch characters are not readable
Verification input field already prefilled with character “r”
The register button should read as Register
Email help text should state “Required only for verification. Will not be
published”
26. Answer: Finding defects
The name of application does not appear on Title space.
The title space seems cutting on right side where close button is
placed.
No button for minimizing.
The Edit menu should be displayed in a ways that the menu’s left
wall should be aligned to Edit option.
Copy option is enabled by default.
For Undo the generalized shortcut key is Ctrl+Z and its difficult for
users to get used to with different keys for the default action like
Undo.
For Cut, Copy and Paste, no shortcut keys have been displayed /
provided.
The Title bar does not show application logo.
The Edit menu seems to be incomplete at end.
27. Tester Tasks Developer Tasks
Incident Lifecycle
1 steps to reproduce a
fault
2 test fault or system fault
3 external factors that
influence the symptoms
4 root cause of the
problem
5 how to repair (without
introducing new
problems)
6 changes debugged and
properly component
tested7 is the fault fixed?
Source: Rex Black “Managing the Testing Process”, MS Press, 1999
28. Exercise: Show Defect Reporting
Skills
Write detailed defect report for this sample
defect:
After logging into Gmail, it navigates to
Google.com
29. Answer: Show Defect Reporting
Skills
Defect Id: 1123
Description : After logging into Gmail, it navigates to
Google.com
Date Identified : 25 -AUG-2014
Severity : Critical
Priority : High
Reproducible : Yes
Steps : 1. Enter gmail.com in the browser
2. Enter your credentials
3. Click on the ‘Sign in’ button
4. Google.com page will be dispalyed
Status : Open
Identified By : XXXX
Assigned to :YYY
31. Exercise: Show Defect Reporting
Skills
Requirement: After registering to the site –
example.com, a new user receives an e-mail,
which contains link to reset the default set
password.
Issue: When user registers via mobile, he
receives the e-mail for two times.
Log a defect report for this issue with all
required defect report fields.
32. Answer: Show Defect Reporting
Skills
Bug Subject/Description: After register to the website from mobile the user receives the e-mail to
reset the default password for two times.
Module Name: Registration
Release No.: 0.0.1
Reported Date: DD/MM/YYYY
Assignee To : Developer X
Severity: Major
Priority: 2
Steps:
1- Type The website URL on your browser on your mobile and go
2- Press the “Registration” button
3- Enter all required date
4- Press “Submit”
5- Open the email you register with to check the mail for reset password
Actual Result:
The user which register via email received two emails to reset password
Expected Result:
The new register user via email should receive only one email to reset the password
ScreenShots:
33. Exercise: Writing test scenarios
Write test ideas for this Scenario: You are at
Grocery store’s checkout counter. You have
bought five items (x, y, z, a, and b). You make
payment and move to EXIT door.
Notes:
The checkout counter is human less
Payment is done by card or cash
34. Answer: Writing test scenarios
If the checkout counter is human less, scan all the five items,
scan your card and make payment.
The scanners should scan proper relevant information.
All the items bought should have barcode so that they are
scan able.
The relevant software and printers should be in working
condition
Once all items scanned, a bill should be generated and given
to the customer.
For payment multiple options should be allowed, cash, card
(credit card, debit card).
If payment is done by card, the transactions should be
secured.
Customer should be able to see the EXIT sign easily
At EXIT, there should be some check that customer carries
only the bought and billed items.
35. Drilling down: From Requirement
to Test script
Business
Requirement
Test
Requirement
Test
Scenarios/
Cases
Test
Procedure/
Script
Generates
1
M
Generates
1
M
Executes/Runs
1
M
36. ATM Example
Business
Requirements:
- “ATM must do
withdrawals”
- “Withdrawals are
between $20-$300”
- “Withdrawals are in $20
multiples”
Group Exercise!
1. Limit the scope to
these 3
requirements.
2. What will you
validate (test for)?
3. Are there any
implied requirements
that may not be
written out?
37. Withdrawal Basic Model
1. The customer inserts the card
2. The customer enters his PIN
3. The system displays the main menu
4. The customer select Withdraw option
5. The customer enter dollar amount
6. The system validate amount received
customer
inserts
card
customer
enters PIN
Customer
select
withdraw
option
Customer
enter
amount
System
Validate the
amount
Card entered
PINentered
DisplayMainMenu
Amount
entered
38. Example: Testing Withdrawals on an
ATM
“Validate that a withdrawal option is available”
"Validate that a withdrawal of a multiple of $20, between $20-$300 can be
done"
"Validate that <$20 is not allowed"
"Validate that >$300 is not allowed"
"Validate that $20 multiples >$300 is not allowed"
"Validate that non-$20 multiples between $20-$300 not allowed"
"Validate strange numeric amounts/combinations not allowed (all zero's,
all 9's, 20.0000)"
“Validate that the withdrawal received is equal to the amount requested”
"Validate that a valid withdrawal amount must be below the account
balance”
Test Requirements Identified (among others):
39. Test Scenarios/Cases
David Capocci, CQA, CSTE
Case # P/F $ entered Expected
Results
Actual
Results
WD01 Pass 20 $20 withdrawn
WD02 Pass 40 $40 withdrawn
WD03 Pass 60 $60 withdrawn
WD04 Pass 80 $80 withdrawn
WD05 Pass 100 $100 withdrawn
: : : :
WD13 Pass 260 $260 withdrawn
WD14 Pass 280 $280 withdrawn
WD15 Pass 300 $300 withdrawn
“Validate that a withdrawal of a multiple of $20,
between $20-$300 can be done”
40. Test Procedure & Script for previous example
Step 1: Insert Card
Step 2: Enter PIN
Step 3: Select Withdraw
option
Step 4: Enter dollar amount
Step 5: Validate amount
received
Do until EOF ‘until end of data file
Input data record
Senddata CARDINFO to “Cardfield”
Senddata “Enter”
Senddata PIN to “PINFfield”
Senddata “Enter”
Senddata “W” to “SelectionField”
Senddata AMOUNT to “DollarField”
Senddata “Enter”
If ErrorMsg > 0 then print ErrorMsg
Print “DollarAMTgiven”
Loop
Procedure: Script: (in pseudo-code )
41. The “Authentication” scenario
1. The customer inserts the card
2. The system checks the card’s validity
3. The system displays the “Enter PIN” Dialog
4. The customer enters his PIN
5. The system checks the PIN
6. The system displays the main menu
Requirements:
1- Draw the basic model
2- Draw the refined model
3- Generate the test cases
4- Write Pseudo code
44. Summary
We learned of the importance of Quality
We learned the five quality perspectives
We learned of the difference between Verification and
Validation
We learned some testing and QA activities
We learned how to write a defect report
We learned how to write test scenario
We learned how to create test case from test scenario