Here are the rules for the supermarket loyalty scheme:
Rule 1: All customers are eligible for a loyalty card.
Rule 2: Loyalty cardholders get either additional discounts on all purchases or earn loyalty points.
Rule 3: Additional discounts are offered on all purchases to loyalty cardholders.
Rule 4: Loyalty cardholders can earn points which can be converted to vouchers or points with partner schemes.
Given:
- Customer has a loyalty card
- Made a purchase of £50
Test case: Loyalty cardholder who made a £50 purchase earns 50 loyalty points
Expected result: Valid (matches Rule 4)
Dynamic testing analyzes the dynamic behavior of code by executing it with different inputs and checking the outputs. There are two main types: black box testing which tests functionality without viewing internal structure, and white box testing which tests based on internal structure. Black box techniques include boundary value analysis, equivalence partitioning, error guessing, cause-effect graphing, and state transition testing. White box techniques include code coverage and complexity analysis. Dynamic testing can find errors not detected through static analysis but takes more time than static testing.
Top 50 Software Testing Interview Questions & Answers | EdurekaEdureka!
YouTube Link: https://youtu.be/dP1YzqKnnTo
** Test Automation Engineer Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **
This Edureka PPT on Top 50 Software Testing Interview Question and Answers will help you to prepare yourself for Software Testing Interviews. It covers questions for beginners, intermediate and experienced professionals.
Below topics are covered in this PPT:
Market Trends in Software Testing
What is Software testing
Top 50 interview questions:
Beginners level questions
Intermediate level questions
Advance level questions
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
This document provides an overview of functional testing. It defines functional testing as verifying that each function of a software application operates as specified. It discusses the differences between functional and non-functional testing, the objective and focus of each. Steps in functional testing are identified as determining functionality, creating test data, determining expected outputs, executing test cases, and comparing actual and expected outputs. Types of functional testing and techniques are described along with advantages of the Selenium tool for automation.
Non-functional testing is the testing of a software application or system for its non-functional requirements: the way a system operates, rather than specific behaviours of that system.
1. The document discusses different types of software testing including manual testing, automation testing, black-box testing, white-box testing, grey-box testing, and different levels of testing like unit testing, integration testing, system testing, regression testing, and acceptance testing.
2. It provides details on when each type of testing is used and their objectives such as finding defects, ensuring quality, and meeting requirements.
3. The key types of testing covered include functional testing, which has sub-types like unit, integration, system, regression, and acceptance testing, and non-functional testing.
Test driven development - JUnit basics and best practicesNarendra Pathai
A presentation covering all the basics of Software Unit testing using JUnit framework. A lot of best practices, myths misconceptions are covered. Naming conventions for test methods and fundamental requirements for doing sustainable Junit testing.
Dynamic testing analyzes the dynamic behavior of code by executing it with different inputs and checking the outputs. There are two main types: black box testing which tests functionality without viewing internal structure, and white box testing which tests based on internal structure. Black box techniques include boundary value analysis, equivalence partitioning, error guessing, cause-effect graphing, and state transition testing. White box techniques include code coverage and complexity analysis. Dynamic testing can find errors not detected through static analysis but takes more time than static testing.
Top 50 Software Testing Interview Questions & Answers | EdurekaEdureka!
YouTube Link: https://youtu.be/dP1YzqKnnTo
** Test Automation Engineer Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **
This Edureka PPT on Top 50 Software Testing Interview Question and Answers will help you to prepare yourself for Software Testing Interviews. It covers questions for beginners, intermediate and experienced professionals.
Below topics are covered in this PPT:
Market Trends in Software Testing
What is Software testing
Top 50 interview questions:
Beginners level questions
Intermediate level questions
Advance level questions
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
This document provides an overview of functional testing. It defines functional testing as verifying that each function of a software application operates as specified. It discusses the differences between functional and non-functional testing, the objective and focus of each. Steps in functional testing are identified as determining functionality, creating test data, determining expected outputs, executing test cases, and comparing actual and expected outputs. Types of functional testing and techniques are described along with advantages of the Selenium tool for automation.
Non-functional testing is the testing of a software application or system for its non-functional requirements: the way a system operates, rather than specific behaviours of that system.
1. The document discusses different types of software testing including manual testing, automation testing, black-box testing, white-box testing, grey-box testing, and different levels of testing like unit testing, integration testing, system testing, regression testing, and acceptance testing.
2. It provides details on when each type of testing is used and their objectives such as finding defects, ensuring quality, and meeting requirements.
3. The key types of testing covered include functional testing, which has sub-types like unit, integration, system, regression, and acceptance testing, and non-functional testing.
Test driven development - JUnit basics and best practicesNarendra Pathai
A presentation covering all the basics of Software Unit testing using JUnit framework. A lot of best practices, myths misconceptions are covered. Naming conventions for test methods and fundamental requirements for doing sustainable Junit testing.
Alpha testing is internal acceptance testing performed by a company's QA team to discover bugs before beta testing. It helps get approval from customers. Beta testing is external acceptance testing performed by real users in real environments to test compatibility, usability, and functionality and gather user feedback. Key differences are alpha testing is internal while beta testing is external, alpha testing occurs during development while beta testing occurs at clients, and alpha testing fixes critical issues while beta testing collects issues from users.
Tool Support for Testing as Chapter 6 of ISTQB Foundation 2018. Topics covered are Tool Benefits, Test Tool Classification, Benefits of Test Automation, Risk of Test Automation, Selecting a tool for Organization, Pilot Project, Success factor for using a tool
The document discusses software testing, outlining key achievements in the field, dreams for the future of testing, and ongoing challenges. Some of the achievements mentioned include establishing testing as an essential software engineering activity, developing test process models, and advancing testing techniques for object-oriented and component-based systems. The dreams include developing a universal test theory, enabling fully automated testing, and maximizing the efficacy and cost-effectiveness of testing. Current challenges pertain to testing modern complex systems and evolving software.
The document provides an overview of software testing basics, including definitions of key terms like testing, debugging, errors, bugs, and failures. It describes different types of testing like manual testing, automation testing, unit testing, integration testing, system testing, and more. It also covers test planning, test cases, test levels, who should test, and the importance of testing in the software development life cycle.
The document discusses key aspects of successful test automation including:
1. Applying a software development process to automation to improve reliability and maintainability.
2. Improving testing processes with robust manual testing and defect management before automating.
3. Clearly defining requirements for what to automate and goals of the automation effort.
The document discusses software testing tools. It introduces software testing and the benefits of testing tools, such as higher test coverage, saving time and resources, and supporting multiple platforms. It then discusses features of good testing tools and types of tools, including static and dynamic tools as well as open source, vendor, and in-house tools. Popular categories of tools are also listed, such as agile testing tools, automation testing tools, mobile testing tools, load testing tools, and test management tools. The document ends by providing examples of specific tools in some of these categories.
The document discusses various types of test tools used at different stages of testing. It describes tools for test management, requirements management, incident management, configuration management, static testing, static analysis, modeling, test design, test data preparation, test execution, test harness, test comparators, coverage measurement, security testing, dynamic analysis, performance testing, load testing, stress testing, monitoring and thanks the reader. The tools support activities like scheduling tests, tracking bugs, reviewing code, generating test data, automating test execution, measuring code coverage and monitoring system performance.
This document provides an overview of software testing concepts and definitions. It discusses key topics such as software quality, testing methods like static and dynamic testing, testing levels from unit to acceptance testing, and testing types including functional, non-functional, regression and security testing. The document is intended as an introduction to software testing principles and terminology.
This document discusses using Python for test automation. It introduces the author as a senior developer in test automation using Python. The document outlines topics to be covered, including testing, automation, different Python modules for test automation, and demos. It promotes Python for test automation due to its ease of use, readability, cross-platform capabilities, large community and support libraries.
This is chapter 6 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
The document discusses various software testing techniques including black box testing, white box testing, and grey box testing. It provides details on specific techniques such as equivalence partitioning, boundary value analysis, statement coverage, condition coverage, function coverage, and cyclomatic complexity. The objective is to understand these techniques so they can be used effectively to test applications and find defects.
Structural testing evaluates code coverage based on its structure. It is stronger than other testing methodologies. There are several categories of structural testing including statement coverage, branch coverage, condition coverage, and path coverage. Statement coverage requires that every statement in the code is executed at least once. Branch coverage generates test cases to test each branch condition as true or false. Condition coverage checks all possible combinations of conditions. Path coverage executes each independent path in the program at least once.
Tools for Software Verification and Validationaliraza786
The document discusses two tools for software verification and validation (V&V): NUnit and Mercury Quality Center (MQC).
NUnit is an open source unit testing framework for .NET applications. It allows developers to write unit tests to verify code meets design conditions. NUnit supports IDE integration, assertions, attributes, configurations and multiple assembly testing. It is used during implementation to facilitate code verification.
MQC is a web-based test management tool for organizing testing projects. It allows requirements management, test planning, case authoring, execution, and defect tracking. Various roles can access modules for requirements, tests, execution, and defects. Reports can be generated on results. It integrates with other tools and facilitates
White box testing involves testing internal program structure and code. It includes static testing like code reviews and structural testing like unit testing. Static testing checks code against requirements without executing. Structural testing executes code to test paths and conditions. Code coverage metrics like statement coverage measure what code is executed by tests. Code complexity metrics like cyclomatic complexity quantify complexity to determine necessary test cases. White box testing finds defects from incorrect code but may miss realistic errors and developers can overlook own code issues.
The document discusses various techniques for software testing including whitebox testing, blackbox testing, unit testing, integration testing, validation testing, and system testing. It provides details on techniques like equivalence partitioning, boundary value analysis, orthogonal array testing, and graph matrices. The objective of testing is to systematically uncover errors in a minimum amount of time and effort. Testing should begin with unit testing and progress towards integration and system-level testing.
With a pre-requisite of ensuring an application's flawless functioning, this PPT sheds light on what functional testing entails with its importance to enhance an application's quality. Get to know more on Functional Testing Services, Functional Testing Types, Smoke Testing, Sanity Testing, Regression Testing with this presentation and stay tuned for our upcoming ones.
CRB Tech is a premier training and placement institute that conducts software testing course in Pune.
Static testing and dynamic testing are two important techniques related to software testing. We will see them in detail in this blog.
Cause-effect graphs capture relationships between inputs (causes) and outputs (effects) in black box testing. Causes and effects are represented as nodes in a graph connected by intermediate nodes. An example graphs the causes if the first character is 'A' or 'B' and the second column is a number leading to the effect that the file is updated, or other causes and effects like erroneous characters printing message X12. The methodology involves decomposing the system, identifying causes and effects, establishing the graph of relationships between them, adding constraints, converting the graph to a decision table, and producing a test per line of the simplified table.
Alpha testing is internal acceptance testing performed by a company's QA team to discover bugs before beta testing. It helps get approval from customers. Beta testing is external acceptance testing performed by real users in real environments to test compatibility, usability, and functionality and gather user feedback. Key differences are alpha testing is internal while beta testing is external, alpha testing occurs during development while beta testing occurs at clients, and alpha testing fixes critical issues while beta testing collects issues from users.
Tool Support for Testing as Chapter 6 of ISTQB Foundation 2018. Topics covered are Tool Benefits, Test Tool Classification, Benefits of Test Automation, Risk of Test Automation, Selecting a tool for Organization, Pilot Project, Success factor for using a tool
The document discusses software testing, outlining key achievements in the field, dreams for the future of testing, and ongoing challenges. Some of the achievements mentioned include establishing testing as an essential software engineering activity, developing test process models, and advancing testing techniques for object-oriented and component-based systems. The dreams include developing a universal test theory, enabling fully automated testing, and maximizing the efficacy and cost-effectiveness of testing. Current challenges pertain to testing modern complex systems and evolving software.
The document provides an overview of software testing basics, including definitions of key terms like testing, debugging, errors, bugs, and failures. It describes different types of testing like manual testing, automation testing, unit testing, integration testing, system testing, and more. It also covers test planning, test cases, test levels, who should test, and the importance of testing in the software development life cycle.
The document discusses key aspects of successful test automation including:
1. Applying a software development process to automation to improve reliability and maintainability.
2. Improving testing processes with robust manual testing and defect management before automating.
3. Clearly defining requirements for what to automate and goals of the automation effort.
The document discusses software testing tools. It introduces software testing and the benefits of testing tools, such as higher test coverage, saving time and resources, and supporting multiple platforms. It then discusses features of good testing tools and types of tools, including static and dynamic tools as well as open source, vendor, and in-house tools. Popular categories of tools are also listed, such as agile testing tools, automation testing tools, mobile testing tools, load testing tools, and test management tools. The document ends by providing examples of specific tools in some of these categories.
The document discusses various types of test tools used at different stages of testing. It describes tools for test management, requirements management, incident management, configuration management, static testing, static analysis, modeling, test design, test data preparation, test execution, test harness, test comparators, coverage measurement, security testing, dynamic analysis, performance testing, load testing, stress testing, monitoring and thanks the reader. The tools support activities like scheduling tests, tracking bugs, reviewing code, generating test data, automating test execution, measuring code coverage and monitoring system performance.
This document provides an overview of software testing concepts and definitions. It discusses key topics such as software quality, testing methods like static and dynamic testing, testing levels from unit to acceptance testing, and testing types including functional, non-functional, regression and security testing. The document is intended as an introduction to software testing principles and terminology.
This document discusses using Python for test automation. It introduces the author as a senior developer in test automation using Python. The document outlines topics to be covered, including testing, automation, different Python modules for test automation, and demos. It promotes Python for test automation due to its ease of use, readability, cross-platform capabilities, large community and support libraries.
This is chapter 6 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
The document discusses various software testing techniques including black box testing, white box testing, and grey box testing. It provides details on specific techniques such as equivalence partitioning, boundary value analysis, statement coverage, condition coverage, function coverage, and cyclomatic complexity. The objective is to understand these techniques so they can be used effectively to test applications and find defects.
Structural testing evaluates code coverage based on its structure. It is stronger than other testing methodologies. There are several categories of structural testing including statement coverage, branch coverage, condition coverage, and path coverage. Statement coverage requires that every statement in the code is executed at least once. Branch coverage generates test cases to test each branch condition as true or false. Condition coverage checks all possible combinations of conditions. Path coverage executes each independent path in the program at least once.
Tools for Software Verification and Validationaliraza786
The document discusses two tools for software verification and validation (V&V): NUnit and Mercury Quality Center (MQC).
NUnit is an open source unit testing framework for .NET applications. It allows developers to write unit tests to verify code meets design conditions. NUnit supports IDE integration, assertions, attributes, configurations and multiple assembly testing. It is used during implementation to facilitate code verification.
MQC is a web-based test management tool for organizing testing projects. It allows requirements management, test planning, case authoring, execution, and defect tracking. Various roles can access modules for requirements, tests, execution, and defects. Reports can be generated on results. It integrates with other tools and facilitates
White box testing involves testing internal program structure and code. It includes static testing like code reviews and structural testing like unit testing. Static testing checks code against requirements without executing. Structural testing executes code to test paths and conditions. Code coverage metrics like statement coverage measure what code is executed by tests. Code complexity metrics like cyclomatic complexity quantify complexity to determine necessary test cases. White box testing finds defects from incorrect code but may miss realistic errors and developers can overlook own code issues.
The document discusses various techniques for software testing including whitebox testing, blackbox testing, unit testing, integration testing, validation testing, and system testing. It provides details on techniques like equivalence partitioning, boundary value analysis, orthogonal array testing, and graph matrices. The objective of testing is to systematically uncover errors in a minimum amount of time and effort. Testing should begin with unit testing and progress towards integration and system-level testing.
With a pre-requisite of ensuring an application's flawless functioning, this PPT sheds light on what functional testing entails with its importance to enhance an application's quality. Get to know more on Functional Testing Services, Functional Testing Types, Smoke Testing, Sanity Testing, Regression Testing with this presentation and stay tuned for our upcoming ones.
CRB Tech is a premier training and placement institute that conducts software testing course in Pune.
Static testing and dynamic testing are two important techniques related to software testing. We will see them in detail in this blog.
Cause-effect graphs capture relationships between inputs (causes) and outputs (effects) in black box testing. Causes and effects are represented as nodes in a graph connected by intermediate nodes. An example graphs the causes if the first character is 'A' or 'B' and the second column is a number leading to the effect that the file is updated, or other causes and effects like erroneous characters printing message X12. The methodology involves decomposing the system, identifying causes and effects, establishing the graph of relationships between them, adding constraints, converting the graph to a decision table, and producing a test per line of the simplified table.
Dynamic black-box testing involves testing software without knowledge of its internal code by entering various inputs and checking the outputs. Key aspects include reducing test cases using equivalence partitioning to group similar inputs and outputs, identifying boundary conditions, using different data values and software states to find bugs, and using exploratory testing without specifications by systematically exploring features. The document contrasts testing-to-pass with simpler cases versus testing-to-fail with more complex cases aimed at breaking the software. Equivalence partitioning is described as a way to methodically reduce the huge number of potential test cases into a smaller yet still effective set by grouping inputs and outputs that will reveal the same bugs.
Flight data recorders, also known as black boxes, are electronic devices used to record parameters of an aircraft's performance. They consist of a flight data recorder and cockpit voice recorder. The first prototype flight data recorder was developed in 1956. Modern black boxes use solid state technology that can record up to 25 hours of flight data and survive extreme conditions like fires, crashes, and underwater submersion. Recorded data helps investigators determine the causes of accidents and prevent future incidents.
The document discusses various techniques for black box testing software, including equivalence partitioning, boundary value analysis, cause-effect graph testing, and state transition testing. Equivalence partitioning involves dividing inputs into equivalence classes and testing a representative value from each class. Boundary value analysis tests minimum, maximum, and boundary values of inputs. Cause-effect graph testing maps relationships between factors that influence outcomes. State transition testing generates test cases that trigger transitions between defined system states. The presentation provides examples and steps for applying each technique.
White-box testing is a software testing technique that uses knowledge of the internal workings of a system to design test cases. It involves testing internal structures or workings of a program, such as code coverage. The document discusses different white-box testing techniques like statement coverage, decision coverage, condition coverage, and multiple condition coverage. It aims to execute every statement, decision path, condition, and combination of conditions in the code. White-box testing is more effective at finding defects earlier in the SDLC but also more expensive and difficult to implement than black-box testing.
The document summarizes various software testing techniques, including:
- White-box testing techniques like cyclomatic complexity and control flow graph analysis to derive test cases.
- Black-box techniques like equivalence partitioning and boundary value analysis to design test cases based on valid and invalid input conditions.
- The goal of testing is to systematically uncover errors by executing all independent paths and boundary values through a program.
This document discusses black box testing techniques. Black box testing involves testing software without knowledge of its internal structure or design. Key black box techniques include equivalence partitioning, which divides input into classes; boundary value analysis, which tests boundary cases; error guessing, which uses experience to generate test cases; and cause-effect graphing, which analyzes how inputs cause outputs to derive test cases. Black box testing has advantages like independence from implementation details and testing from a user perspective.
The document discusses various black-box testing techniques. It introduces testing, verification, and validation. It then describes black-box and white-box testing. Various types of testing like unit, integration, functional, system, acceptance, regression, and beta testing are explained. Strategies for writing test cases like equivalence partitioning and boundary value analysis are provided. The document emphasizes the importance of planning testing early in the development process.
White box testing involves designing test cases based on examining the internal structure and logic of a program. This includes:
1) Statement testing to execute all statements in a program.
2) Branch/decision testing to execute all outcomes of logical decisions.
3) Branch condition combination testing to test all combinations of conditions in decisions.
4) Modified condition combination testing to independently test each condition in decisions.
5) Loop testing to execute loops at their boundaries and within operational bounds.
White box testing aims to thoroughly exercise a program's control flow and internal logic to uncover defects, whereas black box testing focuses only on inputs and outputs without examining internal structure. White box testing generally achieves higher coverage
This document provides an overview of fundamentals of software testing. It discusses the five parts of the fundamental test process in broad chronological order: planning and control, analysis and design, implementation and execution, evaluating exit criteria and reporting, and test closure activities. It also covers topics like regression testing, confirmation testing, the differences between re-testing and regression testing, and the importance of independence in testing.
All testers know that we can identify many more test cases than we will ever have time to design and execute. The key problem in testing is choosing a small, “smart” subset from the almost infinite number of possibilities available. Join Lee Copeland to discover how to design test cases using formal black-box techniques, including equivalence class and boundary value testing, decision tables, state-transition diagrams, and all-pairs testing. Explore white-box techniques with their associated coverage metrics. Evaluate more informal approaches, such as random and hunch-based testing, and learn the importance of using exploratory testing to enhance your testing ability. Choose the right test case design approaches for your projects. Use the test results to evaluate the quality of both your products and your test designs.
All testers know that we can identify many more test cases than we will ever have time to design and execute. The major problem in testing is choosing a small, “smart” subset from the almost infinite number of possibilities available. Join Lee Copeland to discover how to design test cases using formal black-box techniques, including equivalence class and boundary value testing, decision tables, state-transition diagrams, and all-pairs testing. Explore white-box techniques with their associated coverage metrics. Evaluate more informal approaches, such as random and hunch-based testing, and learn the importance of using exploratory testing to enhance your testing ability. Choose the right test case design approaches for your projects. Use the test results to evaluate the quality of both your products and your test designs.
All testers know that we can identify many more test cases than we will ever have time to design and execute. The key problem in testing is choosing a small, “smart” subset from the almost infinite number of possibilities available. Join Lee Copeland to discover how to design test cases using formal black-box techniques, including equivalence class and boundary value testing, decision tables, state-transition diagrams, and all-pairs testing. Explore white-box techniques with their associated coverage metrics. Evaluate more informal approaches, such as random and hunch-based testing, and learn the importance of using exploratory testing to enhance your testing ability. Choose the right test case design approaches for your projects. Use the test results to evaluate the quality of both your products and your test designs.
This document provides an overview of fundamentals of testing, including:
1. It discusses why testing is necessary due to the likelihood of faults in software and the potential harms and costs of failures.
2. Key terms related to defects are defined, including the differences between errors, faults, bugs, failures, and mistakes.
3. Testing principles are outlined, such as the impossibility of exhaustive testing, the need to prioritize based on risk, and the fact that testing can only find defects but not prove their absence.
4. Factors related to quality, reliability, and debugging are addressed in the context of testing.
The document provides an overview of dynamic testing techniques used in software testing. It discusses black box and white box testing approaches and some common techniques used, including equivalence partitioning, boundary value analysis, decision tables, statement coverage, and branch/decision coverage. The techniques help testers select test cases in a more systematic and thorough manner to effectively find software faults.
Database Unit Testing Made Easy with VSTSSanil Mhatre
This document discusses database unit testing using Visual Studio Team System (VSTS). It begins with an overview of software testing basics and unit testing principles. It then covers database unit testing terminology, principles of isolation and independence, and testable interfaces of stored procedures. The document outlines different levels of unit testing and factors to consider. It demonstrates implementing database unit testing in VSTS 2010 and new features in VSTS 2012. The goal is to show how VSTS can be used to test database code and improve quality.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.Tsuyoshi Yumoto
With a rapid increase in size and complexity of software today, the scope of software testing is also expanding. The efficiency of software testing needs to be improved in order to ensure the appropriate delivery deadline and cost of software development. For improving efficiency of software testing, the test needs to be designed in a way that the number of test cases is sufficient and appropriate in quantity. Test analysis is the activity to refine Application Under Test (AUT) into proper size that test design techniques can be applied to. It is for designing the test properly. However, the classification for proper size depends on individual’s own judgments. This paper proposes a test analysis method for the black box testing using a test category that is the classification based on fault and AUT knowledge.
Software quality assurance involves testing software to find errors and ensure correct execution. There are various types of testing like unit testing, integration testing, and system testing. Testers define test cases to verify program behaviors meet specifications. Test cases are designed using techniques like equivalence partitioning, boundary value analysis, and branch testing. The objective is to thoroughly test software and uncover defects before final deployment.
The document provides an overview of software quality assurance and testing. It defines testing as executing a program to find errors based on the definitions of Glen Myers and Paul Jorgensen. The objectives of testing are finding failures, demonstrating correct execution, and being concerned with errors, faults, and incidents. The document also discusses testing life cycles, verification versus validation, classifications of testing at different levels and based on methodologies, relationships between specified and programmed behaviors, and test methodologies like black box and white box testing.
Equivalence class testing is a software testing technique that divides input values into valid and invalid categories called equivalence classes. Representative values are selected from each class as test data. This technique reduces the number of test cases needed while maintaining thorough coverage. An example divides numbers into classes of valid 2-3 digit numbers and invalid single digit numbers to test a program's valid and invalid number handling. There are different types of equivalence class testing that vary in robustness. The technique helps reduce testing time and cases but requires expertise to define classes and may not test all boundary conditions.
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Ryan Tran
At the end of this course, you are going to know:
To provide an approach to design test case.
Understand how to apply equivalence partitioning and boundary to design test case.
This document provides information about software testing. It discusses different types of software testing like unit testing, black box testing, and white box testing. It also describes various techniques used for testing like equivalence partitioning, boundary value analysis, and cause-effect graphing. The key objectives of testing are to discover faults and ensure software works as intended by identifying differences between expected and actual results.
This document discusses equivalence partitioning, a black box testing technique where test cases are designed to execute representatives from equivalence partitions. Equivalence partitions are derived from requirements and divide test input data into ranges of values that cover all possible scenarios. The goals are to reduce the number of test cases to a minimum while maintaining coverage. Examples demonstrate how to identify equivalence classes based on requirements and define representative test cases. Benefits include reducing tests and time, while risks include missing bugs if not used correctly.
This document discusses computer-based assessment (CBA), also known as computer-based testing. CBA involves administering tests electronically, where responses are recorded and assessed using computers. The document outlines the benefits of CBA, such as flexible administration, enhanced security, and immediate scoring. It also describes different types of tests, including objective and subjective tests, and provides guidelines for developing valid and reliable CBA tests. Key aspects addressed include defining learning objectives, structuring test questions, designing an assessment, and evaluating the validity of the final computerized test.
The document discusses various concepts related to software testing including verification vs validation, inspection vs testing, black box vs white box testing, and testing techniques like equivalence partitioning, boundary value analysis, and cause-effect graphing. It defines verification as ensuring software meets specifications while validation ensures it meets customer needs. Inspection examines static documents while testing evaluates dynamic behavior. Black box testing uses requirements while white box considers internal structure.
Boundary Value Analysis and Equivalence class Partitioning Testing.pptxlandesc
This document discusses Boundary Value Analysis (BVA) and Equivalence Class Partitioning (ECP) testing techniques. It explains that due to time and budget constraints, exhaustive testing of all possible input combinations is not feasible. BVA and ECP help intelligently select test cases by dividing inputs into partitions/classes of equivalent data that cover all test scenarios and reduce the number of test cases needed. BVA tests boundary values like minimum, maximum, just inside/outside boundaries, while ECP first divides inputs into equivalence classes to derive test cases.
This document provides an overview of software testing. It discusses the background of software testing including definitions, terminology, and history. It presents a framework for software testing that includes the inputs, outputs, and processes. It also discusses test case generation, test execution, evaluation, and some challenges around automation. Finally, it touches on taxonomy and benchmarks for evaluating automated testing techniques.
Tester contribution to Testing Effectiveness. An Empirical ResearchNatalia Juristo
The study examined how testers contribute to the effectiveness of two software testing techniques: equivalence partitioning and branch testing. The theoretical effectiveness of each technique was compared to the observed effectiveness when master's students applied the techniques. For some faults, tester contribution decreased technique effectiveness, while for other faults, tester contribution increased effectiveness. Tester contribution had a greater negative impact on equivalence partitioning and a greater positive impact on branch testing. Common mistakes that decreased effectiveness included misunderstanding or poorly applying the testing techniques. [END SUMMARY]
This document summarizes generative adversarial networks (GANs) and their applications. It begins by introducing GANs and how they work by having a generator and discriminator play an adversarial game. It then discusses several variants of GANs including DCGAN, LSGAN, conditional GAN, and others. It provides examples of applications such as image-to-image translation, text-to-image synthesis, image generation, and more. It concludes by discussing major GAN variants and potential future applications like helping children learn to draw.
The document provides an overview of Scrum and its key elements. It discusses that Scrum is an iterative, collaborative framework for managing product development. It also summarizes that Scrum uses sprints, daily stand-up meetings, product backlogs and user stories to help development teams work in an agile way. The document outlines the core Scrum roles of Product Owner, Scrum Master and Development Team and how they work together.
The document discusses Object Relational Mapping (ORM) in Django. It begins by explaining that ORM provides an API that allows accessing databases in an object-oriented style, making the database more transparent. It then provides examples of how to define models by inheriting from Django's Model class and adding fields. Various field types like CharField, IntegerField, DateField are demonstrated. It also shows how to define relationships and primary keys. The document concludes by explaining how to perform CRUD operations on models in an object-oriented way using Django's ORM APIs.
Introduction to Cross-platform App DevelopmentHoang Nguyen
Cross-platform mobile app development allows writing code once that can run on multiple operating systems and devices. It uses a virtual machine that compiles source code into bytecode that can run on different hardware platforms. Xamarin allows building native mobile apps for Android, iOS, and Windows using C# and .NET. Apps are compiled to native code for each platform, delivering native performance while sharing most of the development code cross-platform.
The document discusses consistency of random forests. It summarizes recent theoretical results showing that random forests are consistent estimators under certain conditions. Specifically, it is shown that random forests are consistent if the number of features sampled at each node (mtry) increases with sample size and the minimum node size decreases with sample size. The document also discusses how consistency holds even when the splitting criteria are randomized, as in random forests, as long as the base classifiers are consistent.
The document appears to be lecture slides on information security. It discusses several topics:
- Digital signature schemes and what it means for them to be secure
- Approaches for building secure digital signature schemes such as using hash functions and RSA
- Public key infrastructure and how certificate authorities can be used to securely distribute public keys
- Alternative models for establishing trust between parties such as web of trust without a centralized trusted authority
The document contains definitions, theorems, and examples related to these information security concepts.
This document appears to be notes from an information security course. It discusses several methods for generating and sharing secret keys securely, including using an online trusted third party, Merkle puzzles, and the Diffie-Hellman key exchange protocol. The notes cover how each method works at a high level and their advantages and disadvantages. The document focuses on generating mutual keys between two parties without needing an online trusted third party.
SOME SECURITY CHALLENGES IN CLOUD COMPUTINGHoang Nguyen
There are several security challenges with cloud computing including issues of trust, broad attacking surfaces, and data breaches. Ensuring data integrity and privacy is difficult when data is outsourced to cloud storage. Techniques like encryption, secure auditing, and proofs of data redundancy can help address some of these challenges, but protecting access patterns and enabling secure computation outsourcing remain open problems.
This document appears to be notes from an information security course taught by Van Hoang Nguyen in the fall of 2013. The notes cover topics such as secure ciphers, perfect secrecy, stream ciphers, pseudorandom generators, semantic security, and the RC4 stream cipher. Examples of ciphers discussed include the one-time pad and RC4 stream cipher. Requirements for ciphers, pseudorandom generators, and semantic security are defined.
The document appears to be notes from an Information Security course taught by Van Hoang Nguyen in the fall of 2013. It includes topics like cryptography, ciphertexts, transposition ciphers, and frequency analysis. There are examples of encrypting and decrypting messages using different ciphers.
The document appears to be notes from an Information Security course taught by Van Hoang Nguyen in the fall of 2013. It covers topics such as when private information becomes data, how to implement information security, cryptography, and steganography. The notes are broken into various sections and include the instructor's contact information.
This document appears to be notes from an information security course taught by Van Hoang Nguyen in the fall of 2013. It includes definitions of information and data, discussions of objectivity and subjectivity, the relationship between information and interpretation, and challenges balancing security and usability. Key topics covered include what constitutes information, how information differs from raw data, and tradeoffs involved in system security design.
The document is about an advanced operating systems course for fall 2012 taught by Van Hoang Nguyen. It discusses topics like communication techniques for multiprocessors, multicomputers and distributed systems. It also covers OS code, scheduling, deadlocks, message passing performance, and processor allocation algorithms for multiprocessors, multicomputers and distributed systems.
This document appears to be slides from a lecture on advanced operating systems given in the fall of 2012. It discusses computational biology, physics simulations, limitations of wire communications speeds and heat dissipation, examples of high-performance computer systems, shared memory architectures, message passing between processes, cache hit rates, and directory-based cache coherence. The document is attributed to Van Hoang Nguyen from the Department of Computer Science at HUA.
The document appears to be lecture slides for an Advanced Operating Systems course taught in the fall of 2012. It contains over 40 slides covering topics like operating system structure, scheduling, concurrency, memory management, file systems, and more. The slides are authored by Van Hoang Nguyen and reference various textbooks.
The document appears to be slides from a course on Information Security presented in the fall of 2012. It was presented by Van Hoang Nguyen and covers topics such as information theory, automata theory, computability theory, and complexity theory. Shannon's definition of entropy as a way to measure information is discussed.
Introduction to Information Security CourseHoang Nguyen
This document appears to be a course syllabus for an Information Security course taught by Van Hoang Nguyen at the Department of Computer Science - FITA - HUA in the fall of 2012. The syllabus outlines that the course will cover topics such as the differences between data and information, definitions of information security, principles of confidentiality, integrity, and trust, and network security. It also lists the grading breakdown as 10% for attention, 30% for a midterm, and 60% for a final exam.
The document appears to be a course syllabus for a Computer and Network Security class taught by Van Hoang Nguyen in the fall of 2012. It includes the instructor's contact information, an outline of course topics, grading breakdown, and slides on various security-related topics like vulnerabilities over time and malware threats.
This document discusses the future of data storage and the rise of NoSQL databases. It notes that while SQL databases have dominated for decades, their suitability is cracking due to limitations in scaling and integration. NoSQL databases are designed to run on clusters across many machines, have flexible schemas, and are open source. They allow for embracing large scale and reducing development drag. However, relational databases are still relevant for some use cases. The future is one of "polyglot persistence" using the best data storage technology for each application's needs.
Static testing involves inspecting work products like requirements, design documents, and code without executing the code. It aims to find defects early when rework costs are lower. The document discusses static testing techniques like unit testing, integration testing, and reviews. Reviews include inspections - moderated meetings where defects are discussed - and technical and informal reviews with subject matter experts. The goal is early defect detection to improve quality and productivity.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Webinar: Designing a schema for a Data WarehouseFederico Razzoli
Are you new to data warehouses (DWH)? Do you need to check whether your data warehouse follows the best practices for a good design? In both cases, this webinar is for you.
A data warehouse is a central relational database that contains all measurements about a business or an organisation. This data comes from a variety of heterogeneous data sources, which includes databases of any type that back the applications used by the company, data files exported by some applications, or APIs provided by internal or external services.
But designing a data warehouse correctly is a hard task, which requires gathering information about the business processes that need to be analysed in the first place. These processes must be translated into so-called star schemas, which means, denormalised databases where each table represents a dimension or facts.
We will discuss these topics:
- How to gather information about a business;
- Understanding dictionaries and how to identify business entities;
- Dimensions and facts;
- Setting a table granularity;
- Types of facts;
- Types of dimensions;
- Snowflakes and how to avoid them;
- Expanding existing dimensions and facts.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Dynamic Testing
1. DYNAMIC TESTING
Hoang V. Nguyen
startnewday85@gmail.com
startnewday85.blogspot.com
Dept. of Computer Science – FIT - HUA
Tester Training Course
2. User Acceptance
requirements Testing
System
System Testing
requirements
Integration
Global Design
Testing
Detailed Design Unit Testing
implementation
Tester Training Course 2011
5. Identify Test conditions
Specify Test cases
Specify Test Procedures
• is also referred as test script
Tester Training Course 2011
6. Testing may be performed with varying
degrees of formality
• Test Design Specification(IEEE 829)/ Test Condition
Specification
• Test Case Specification
• Test Procedure Specification/ Test Script
• Manual
• Automatic
Tester Training Course 2011
8. Provides a quantitative measure of the
quality of the testing that has been done
By measuring what has been achieved
Provides a way of estimating how much
more testing needs to be done.
Can be applied to any systematic approach
Tester Training Course 2011
10. Test requirements/ test inventory/ test
objectives
Designed based on test basis
Traceability
Must be prioritized
Tester Training Course 2011
11. Test Data
• inputs,
• pre-conditions,
• expected results,
• post-conditions
Exhaustive Testing is impractical
• must select a subset of all possible test cases
Tester Training Course 2011
14. a procedure for selecting test cases
a way deriving good test cases
a way objectively measuring a test effort
maximize possibility faults found, minimize
time and resources
Tester Training Course 2011
15. Different people: similar probability find faults
• gain some independence of thought
Effective testing: find more faults
• focus attention on specific types of fault
• know you're testing the right thing
Efficient testing: find faults with less effort
• avoid duplication
• systematic techniques are measurable
Tester Training Course 2011
16. Systematic approach
• Specification-based or black-box
• Structure-based or white-box
Experience based approach
• Error Guessing
• Exploratory testing
Tester Training Course 2011
17. Specification-based approach
• based on specifications and models of what the
system should do
• do not care how do
Some techniques
• Equivalence partitioning
• Boundary value analysis
• Decision table testing
• State transition testing
• Use case testing
Tester Training Course 2011
19. divide the test case space into
areas(partitions)
• inputs
• outputs
• conditions
In an area, if one element works
correctly, all will work correctly
One from each partition better than
all from one
Tester Training Course 2011
20. Name From 18
Age to 50
Invalid valid Invalid
18 50
==> Test cases: 10, 20, 60, abc
Tester Training Course 2011
21. Invalid valid Invalid
18 50
Faults tend to lurk near boundaries
Good place to look for faults
Test values on both sides of boundaries
Tester Training Course 2011
22. From 3 to 50
characters
Name From 18 to
50
Age
Tester Training Course 2011
23. Number of characters
Invalid valid Invalid
3 50
Valid characters A-Z, a-z,
Invalid
space
Test Condition Valid Partition Invalid Valid Boundary Invalid
Partition Boundary
Name Field 3-50 chars <3 chars 3 chars 2 chars
>50 chars 50 chars 51 chars
valid chars invalid chars
Tester Training Course 2011
24. Invalid valid Invalid
18 50
Test Condition Valid Partition Invalid Partition Valid Boundary Invalid
Boundary
Age Field 18-50 <18 18 17
>50 50 51
Non numeric
Tester Training Course 2011
26. Question
In a Examination a candidate has to score minimum 24
marks in order to clear the exam. The maximum that
he can score is 40 marks. Identify the Valid
Equivalance values if the student clears exam.
22, 23, 26
21, 39, 40
29, 30, 31
0, 15, 22
Tester Training Course 2011
27. Question
Boundary value testing
Is the same as equivalence partitioning tests
Test boundary conditions on, below and above the
edges of input and output equivalence classes
Tests combinations of input circumstances
Is used in white box testing strategy
Tester Training Course 2011
28. Question
Equivalence testing divides the input
domain into classes of data from which test
cases can be derived to reduce the total
number of test cases that must be
developed.
True
False
Tester Training Course 2011
29. Question
An input field takes the year of birth
between 1900 and 2004. The boundary
values for testing this field are
0, 1900, 2004, 2005
1900, 2004
1989, 1900, 2004, 2005
1989, 1900, 1901, 2003, 2004, 2005
Tester Training Course 2011
30. Some software app, business rules can
be very complex
Decision table a good method to
describe complex business rules
Business Rule Business Rule Business Rule Business Rule
1 2 3 4
Condition 1 T T T F
Condition 2 T F F T
Condition 3 T _ T T
Action 1 Y N N N
Action 2 N N Y N
Tester Training Course 2011
31. Given the following decision table: Which of the
following test cases and expected results is VALID?
Rule 1 Rule 2 Rule 3 Rule 4
Age <21 yrs 21-29 yrs 30-50 yrs >50 yrs
Insurance class A A or B B, C or D C or D
Premium 100 90 70 70
Excess 2,500 2,500 500 1000
23 year old in insurance class A Premium is 0 and excess is,500.
51 year old in insurance class C Premium is 0 and excess is 00.
31 year old in insurance class B Premium is 0 and excess is ,500.
43 year old in insurance class C Premium is 0 and excess is ,000.
Tester Training Course 2011
32. A supermarket has a loyalty scheme that is offered to all
customers. Loyalty cardholders enjoy the benefits of either
additional discounts on all purchases (rule 3) or the
acquisition of loyalty points (rule 4), which can be converted
into vouchers for the supermarket or to equivalent points in
schemes run by partners. Customers without a loyalty card
receive an additional discount only if they spend more than
£100 on any one visit to the store (rule 2), otherwise only
the special offers offered to all customers apply (rule 1).
Tester Training Course 2011
33. Rule 1 Rule 2 Rule 3 Rule 4
Customer without loyalty card T T F F
Customer with loyalty card F F T T
Extra discount selected _ _ T F
Spend > £100 F T _ _
No discount T F F F
Extra discount F T T F
Loyalty points F F F T
Create at least one test case for each rule
• Conditions specify inputs
• Actions specify outputs
Tester Training Course 2011
34. based on state transition diagram
Example: ATM State Transition
NOT OK
Start 2nd try
3rd try
1st try
NOT OK
Access
wait Eat
to
for PIN card
Account
Tester Training Course 2011
35. Four different levels of coverage
• State Coverage
• Event Coverage
• Path coverage
• Transition coverage
Tester Training Course 2011
36. State Coverage
Generally this is a weak level of test coverage
2 NOT OK
1
Start 2nd try
3rd try
1st try
NOT OK
Access
wait Eat
to
for PIN card
Account
Tester Training Course 2011
37. Event Coverage
also is a weak level of coverage
2 NOT OK
1
Start 2nd try
3rd try
1st try
NOT OK
Access
wait Eat
to
for PIN card
Account
Tester Training Course 2011
38. Path Coverage
• is the strongest level of coverage
• but may not be feasible
• if the state transition diagram has loops, then the
number of possible paths may be infinite
Tester Training Course 2011
39. Transition Coverage
• good level of coverage with out generating large
numbers of tests
• this level is generally the one recommended
NOT OK
Start 2nd try
3rd try
1st try
NOT OK
Access
wait Eat
to
for PIN card
Account
Tester Training Course 2011
41. To exercise a complete process flow
At least one test case for the main
success scenario
At least one test case for each extension
Tester Training Course 2011
42. Test oracle
Partial oracle
Tester Training Course 2011
43. Based on “What”, with out “How”
Test cases can be designed:
• Input/output variables with their ranges and
boundaries
• Business rules
• System behaviors
• System’s functionalities from start to finish
Tester Training Course 2011
44. Question
Purpose of test design technique is
Identifying test conditions only, not Identifying test
cases
Identifying test conditions and Identifying test cases
Not Identifying test conditions, Identifying test
cases only
Identifying test conditions or Identifying test cases
Tester Training Course 2011
45. Question
’X’ has given a data on a person age, which
should be between 1 to 99. Using BVA which is
the appropriate one
0, 1, 2, 99
1, 99, 100, 98
0, 1, 99, 100
-1, 0, 1, 99
Tester Training Course 2011
46. Given the following state diagram: Which of the
following series of state transitions? S1 S0 S1 S2 S0
D, A, B
A, B, C, D
D, A, B, C
A, B, C
Tester Training Course 2011
47. Question
Which type of test design techniques does the
following statement best describe a procedure to
derive test cases based on the specification of a
component?
White Box Techniques
Black Box Techniques
Glass Box Techniques
Experience Based Techniques
Tester Training Course 2011
48. Given the following state diagram: Which of the following
series of state transitions contains an invalid transition
which may be indicate a fault in the system design?
Login Browse Basket Checkout Basket Checkout Pay Logout.
Login Browse Basket Checkout Pay Logout.
Login Browse Basket Checkout Basket Logout.
Login Browse Basket Browse Basket Checkout Pay Logout.
Tester Training Course 2011
49. Question
Which of the following is MOST characteristic of
specification based(black-box)
Test cases can be easily automated
Test cases are independent of each other
Test cases are derived systematically from models of
the system
Test cases are derived systematically from the
delivered code
Tester Training Course 2011
50. Question
Use cases can be performed to test
Performance testing
Business scenarios
Static testing
Unit testing
Tester Training Course 2011
51. Question
Which is NOT a test oracle
The existing system(For a benchmark)
Indinidual’s knowlege
The code
User manual
Tester Training Course 2011
52. Question
The Test Cases Derived from use cases
Are most useful in uncovering defects in the process
flows during real world use of the system
Are most useful in uncovering defects in the process
flows during the testing use of the system
Are most useful in covering the defects in the
process flows during real world use of the system
Are most useful in covering the defects at the
Integration Level
Tester Training Course 2011
53. Structure-based approach
• based on structures of system or component
• also called glass-box techniques
What we may be interested in structures
• Component level: program structures
• Integration level: the way components interact with
others
• System level: how user will interact with the system
Tester Training Course 2011
56. Design test cases based on what
statements which should be exercised
Statement coverage
• percentage of executable statements exercised
number of statements exercise
• =
total number of statements
• is normally measured by a software tool
• typical ad hoc testing achieves 60 – 75%
Tester Training Course 2011
57. 1 Program Coverage Example
2 A, X: Integer
3 Begin
4 Read A
5 Read X
6 If A > 1 AND X = 2 Then
7 X = X/A
8 Endif
9 If A = 2 OR X = 2 Then
10 X = X + 1
11 Endif
12 End
The number of executable statements: 6
Test case 1: A=1, X=2; 4/6 or 67%
Test case 1: A=4, X=2; 6/6 or 100%
Tester Training Course 2011
58. 1 Program BestInterest
2 Interest, Base Rate, Balance: Real
3 Begin
4 Base Rate = 0.035
5 Interest = Base Rate
6 Read (Balance)
7 If Balance > 1000 Then
8 Interest = Interest + 0.005
9 If Balance < 10000 Then
10 Interest = Interest + 0.005
11 Else
12 Interest = Interest + 0.010
13 Endif
14 Endif
15 Balance = Balance × (1 + Interest)
16 End
What test cases to achieve 100 percent
statement coverage
Tester Training Course 2011
59. Design test cases based on what decision
outcomes which should be exercised
same as Branch Testing
Decision coverage
• percentage of decision outcomes exercised
number of decision outcome exercised
• =
total number of decision outcomes
• is normally measured by a software tool
• typical ad hoc testing achieves 40 – 60%
Tester Training Course 2011
60. 1 Program BestInterest
2 Interest, Base Rate, Balance: Real
3 Begin
4 Base Rate = 0.035
5 Interest = Base Rate
6 Read (Balance)
7 If Balance > 1000 Then
8 Interest = Interest + 0.005
9 If Balance < 10000 Then
10 Interest = Interest + 0.005
11 Else
12 Interest = Interest + 0.010
13 Endif
14 Endif
15 Balance = Balance × (1 + Interest)
16 End
What test cases to achieve 100 percent decision
coverage
Tester Training Course 2011
61. 1 float dc(int a,b,c,d,h)
2 Begin
3 float r
4 If a=0 Then return 0
5 Endif
6 int f=0;
7 If (a=b) or ((c=d) and check(h))
Then
8 f=f+1;
9 Endif
10 f=f+1;
11 return 1/f
12 End
What test cases to achieve 100 percent decision
coverage
Tester Training Course 2011
62. Design test cases based on Boolean sub-
expression (BsE)
Condition coverage
• percentage of Boolean sub-expression outcomes
exercised
number of BsE outcome exercised
• =
total number of BsE outcomes
• There are no industry standard objectives for
condition coverage
Tester Training Course 2011
63. Example
7 If (a=b) or ((c=d) and check(h)) Then
Predicate True False
a=b Test case 1 Test case 2
dc(1,1,x,y,z) dc(1,2,x,y,z)
c=d Test case 3 Test case 2
dc(1,2,2,2,z) dc(1,2,1,2,z)
check(h) Test case 3 Test case 4
dc(1,2, 2,2,z) dc(1,2, 2,2, z’)
Tester Training Course 2011
64. Design test cases based on what paths
which should be exercised
Path coverage
• percentage of paths exercised
number of paths exercised
• =
total number of paths
Tester Training Course 2011
66. 1 2 3 4 5 6 7 8 ….
for as many times as it
is possible to go round
?
the loop (this can be
unlimited, i.e. infinite)
Tester Training Course 2011
67. Question
If the pseudo code below were a programming language,
how many tests are required to achieve 100% statement
coverage?
1 If x=3 then
1
2 Display_messageX;
3 If y=2 then
2
4 Display_messageY;
5 Else
3
6 Display_messageZ;
7 EndIf
4
8 Else
9 Display_messageZ;
10 EndIf
Tester Training Course 2011
68. Question
If the pseudo code below were a programming language,
how many tests are required to achieve 100% decision
coverage?
1 Program AgeCheck
2 CandidateAge: Integer;
3 Begin
4 Read(CandidateAge) 1
5 If CandidateAge < 18 Then
6 Print (“Candidate is too young”) 2
7 Else
8 If CandidateAge > 30 Then
9 Print (“Candidate is too old”) 3
10 Else
11 Print(“Candidate may join Club 18–30”)
12 Endif 4
13 Endif
14 End
Tester Training Course 2011
69. is an important measure in systematic
approach
But
• Coverage techniques measure only one dimension
• measures only what has written
In practice, are always multi-dimension and
have something which have not been written
Tester Training Course 2011
70. Question
Which of the following is NOT true
of test coverage criteria?
Test coverage criteria can be measured in terms of
items exercised by a test suite
A measure of test coverage criteria is the percentage
of faults found
A measure of test coverage criteria is the percentage
of user requirements covered
Test coverage criteria are often used when
specifying test completion criteria
Tester Training Course 2011
71. Unscripted testing
Experience based approach
Some techniques
• Error guessing
• Exploratory testing
A testing approach that is only rigorous,
thorough and systematic is in complete
Tester Training Course 2011
72. no rules, no script
situations in which the software may
not be able to cope are identified based
on experience(feel)
Consider:
• past failures
• brain storming
• intuition
• “what is the craziest thing we can do”
Tester Training Course 2011
73. always worth including
after systematic techniques have been
used
can find some faults that systematic
techniques can miss
a ‘mopping up’ approach
supplements systematic techniques
Tester Training Course 2011
74. Details will be focused in Agile testing lectures
Tester Training Course 2011
75. Question
A test design technique is
A process for determining expected outputs
A process for selecting test cases
A way to measure the quality of software
A way to measure in a test plan what has to be done
Tester Training Course 2011
77. Question
Error guessing
A supplements formal test design techniques
Can only be used in component, integration and
system testing
Is only performed in user acceptance testing
Is not repeatable and should not be used
Tester Training Course 2011
78. Question
Error guessing is
An appropriate way of deriving system tests
Only used if good requirements are not available
Only used when good requirements are available
The most appropriate way of deriving system tests
Tester Training Course 2011
79. Question
Random testing
A black-box testing technique
Program is tested randomly sampling the input
Both A and B
None of the above
Tester Training Course 2011