This document discusses various static and dynamic testing techniques. It explains that static testing is done manually without executing code, such as reviews and inspections. Dynamic testing requires executing the code using techniques like unit testing. Black box techniques like equivalence partitioning, boundary value analysis, decision tables, and state transition testing are covered, along with an example for each. White box techniques focus on internal code structure and test coverage metrics. The document provides details on different testing techniques for testers to design effective test cases.
This is a free module from my course ISTQB CTAL Test Manager revised to 2012 syllabus. If you need full training feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Test Management as Chapter 5 of ISTQB Foundation 2018. Topics covered are Test Organization, Test Planning and Estimation, Test Monitoring and Control, Test Execution Schedule, Test Strategy, Risk and Testing, Defect Management
This document provides an overview of software testing, including definitions, purposes, strategies, methods, levels, types, and tools. It defines software testing as evaluating a system to determine if it meets requirements and works as expected. Testing is necessary to find errors, improve reliability and quality, and satisfy users. Strategies include unit, integration, and validation testing. Methods are divided into black-box and white-box testing. Levels include unit, integration, system, and acceptance testing. Types incorporate installation, compatibility, smoke, regression, alpha, and beta testing. Tools aid in test management, functional testing, load testing, and debugging.
Now to answer, “What is Testing?” we can go by the famous definition of Myers, which says, “Testing is the process of executing a program with the intent of finding errors”
The document describes the testing life cycle process which includes test plan preparation, test case design, test execution and log preparation, defect tracking, and test report preparation. It then provides details about each step of the testing life cycle process such as how to prepare test plans, design test cases, execute tests and log results, track defects, and prepare test reports.
The document discusses the phases of the Software Testing Life Cycle (STLC). It begins by introducing the group members and defining software testing as a process to find bugs by executing a program. It then outlines the six main phases of the STLC: 1) Requirements analysis to understand requirements and identify test cases, 2) Test planning to create test plans and strategies, 3) Test case development to write test cases and scripts, 4) Environment setup to prepare the test environment, 5) Test execution and bug reporting to run tests and log defects, and 6) Test cycle closure to review testing artifacts and lessons learned. Each phase is described in 1-2 sentences with its activities, deliverables, and examples provided.
The document provides an overview of fundamentals of testing including the testing process, psychology of testing, and exams. It describes the typical activities in a test process including test planning, monitoring and control, analysis, design, implementation, execution, and completion. For each activity, it outlines the common tasks and work products. It also discusses how human psychology and the different mindsets of testers and developers can impact testing. The document emphasizes the importance of independence in testing to avoid author bias and more effectively find defects.
Chapter 3 of ISTQB Foundation 2018 syllabus with sample questions. Answers about what is static testing, what is review, types of review, informal review, walkthrough, technical review, inspection.
The document describes the key stages of the software testing life cycle (STLC), including contract signing, requirement analysis, test planning, test development, test execution, defect reporting, and product delivery. It provides details on the processes, documents, and activities involved in each stage. Risk analysis and bug/defect management processes are also summarized. Various test metrics and bug tracking tools that can be used are listed.
The document provides an overview of the agenda and content for Day 1 of an ISTQB Foundation Level training course. It begins with an introduction to ISTQB, including what it is, its purpose, and certification levels. It then outlines the agenda for Day 1, which includes introductions to ISTQB, principles of testing, testing throughout the software development lifecycle, static testing techniques, and tool support for testing. The document provides details on each of these topics, such as definitions of testing, principles of testing, software development models, testing levels, types of testing, and examples of static testing techniques.
Manual testing is the process of manually testing software for defects by playing the role of an end user and using all features of the application to ensure correct behavior, following a written test plan. The document discusses various concepts in manual testing including software quality assurance, verification, validation, software life cycles, why testing is done, and different testing techniques like black box testing, white box testing, regression testing, unit testing, alpha testing, beta testing, system testing, volume testing, stress testing, and security testing.
The document discusses fundamentals of software testing including definitions of testing, why testing is necessary, seven testing principles, and the test process. It describes the test process as consisting of test planning, monitoring and control, analysis, design, implementation, execution, and completion. It also outlines the typical work products created during each phase of the test process.
The document discusses test management for software quality assurance, including defining test management as organizing and controlling the testing process and artifacts. It covers the phases of test management like planning, authoring, execution, and reporting. Additionally, it discusses challenges in test management, priorities and classifications for testing, and the role and responsibilities of the test manager.
BugRaptors provide Software testing is entirely about finding defects in applications, right? Apparently, this can be considered as the principal goal of all the QA practices. However, all the defects diverge from each other. It cannot be stated if some are more important than others, yet it’s possible to locate and fix them all.
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
*Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses *
This Edureka PPT on "Software Testing Life Cycle" will provide you with in-depth knowledge about software testing and the different phases involved in the process of testing.
Below are the topics covered in this session:
Introduction to Software Testing
Why Testing is Important?
Who does Testing?
Software Testing Life Cycle
Requirement Analysis
Test Planning
Test Case Development
Test Environment Setup
Test Execution
Test Cycle Closure
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Instagram: https://www.instagram.com/edureka_lea...
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Manual testing involves manually testing software by playing the role of an end user and using test cases to ensure correct behavior. It is important early in development when automation is not possible and for testing visual elements. A test plan is a document that outlines test objectives, workflows and processes while a test case specifies conditions to determine if a feature works as intended. Both exploratory and black/white box testing have pros and cons for finding bugs. Bugzilla is a bug tracking system that helps developers manage issues.
The document discusses various topics related to software testing including goals of testing, difficulties in testing, different stages of testing like unit testing and integration testing, test selection strategies like specification-based, operational distribution-based, domain-based, and risk-based testing. It also covers test automation, white-box testing methods, and the financial implications of inadequate testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
The document discusses various topics related to software testing including goals of testing, difficulties in testing, types of testing (unit, integration, system), test case selection strategies (code-based, specification-based, operational distribution-based, domain-based, risk-based), test automation, and the financial implications of inadequate testing. It notes that testing aims to detect faults, establish confidence, and evaluate properties, but is difficult due to issues like determining correct outputs and adequate testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various topics related to software testing including goals of testing, difficulties in testing, different stages of testing like unit testing and integration testing, test selection strategies like specification-based, operational distribution-based, domain-based, and risk-based testing. It also covers test automation, white-box testing methods, and the financial implications of inadequate testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and adequately testing interfaces. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based techniques. The goals of testing like detecting faults and evaluating reliability are also mentioned.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correctness of outputs and selecting test cases. Different strategies for test case selection are covered such as code-based, specification-based, operational distribution-based, domain-based, random testing, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and adequate testing. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing. Factors that influence prioritizing test cases are also summarized.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
The document discusses various techniques for software testing including unit testing, integration testing, system testing, and regression testing. It describes challenges in software testing like determining correct outputs and comparing testing strategies. Different strategies for selecting test cases are covered such as code-based, specification-based, operational distribution-based, domain-based, random, and risk-based testing.
CrushFTP 10.4.0.29 PC Software - WhizNewsEman Nisar
Introduction:
In this never-ending digital world, the essence of a smooth and safe file transfer solution is vital. CrushFTP 10.4.0.29 is a kind of full-featured, robust, and easy-to-use PC software designed for a smooth file transfer process without compromising security. In this review, we will dig in deep regarding the CrushFTP features, functions, and system requirements to have a 360-degree view of its capabilities and possible applications.
Description:
CrushFTP, LLC develop the software, and it comes in a bundle of new features and improvements, which are set to deliver a great experience to the user.With CrushFTP, from the smallest to the most extensive scale of businesses, all kinds of file transfer operations can be centrally managed on a single platform.
You May Also Like :: Alt-Tab Terminator Pro 6.0 PC Software – WhizzNews
Abstract:
At its heart, CrushFTP is a powerful server that allows users to exchange files over the networks safely. Many features of the FTP servers have been extended in CrushFTP. It supports protocols like FTPS, SFTP, SCP, HTTP, and HTTPS for maximum flexibility with client applications and devices.
The intuitive web interface enables users to use file management tools simply without installing complex client software.
Software Characteristics:
Security:
CrushFTP ensures security through the use of protocols for encryption, such as SSL/TLS, to secure transmitted data. It also offers user authentication mechanisms using LDAP, Active Directory, and OAuth for proper secure access control.
Automation:
The automation capability of CrushFTP allows automating the everyday routine tasks through schedule-based transfer, event-based triggers, and custom flow. This ensures that the batch processing is effective with minimum manual interruption, improving productivity.
You May Also Like :: VovSoft Copy Files Into Multiple Folders PC Software – WhizzNews
Remote Administration:
CrushFTP supports remote administration through the web interface. This allows an administrator to manage server settings, user permissions, and file operations from any part of the world that is connected to the Internet. In this regard, it gives a very nice distributed team and remote work environment.
Integration:
The software easily integrates with third-party applications and services through a very extensive API, as well as through support for plenty of plugins. This way, it becomes straightforward for organizations to fit CrushFTP into their already existing infrastructure to promote interoperability and ensure scalability.
Monitoring and Logging:
CrushFTP provides very detailed tracking and logging where an administrator can trace all user activities, monitor the performance of the server, and analyze network traffic. It also offers real-time alerts and notifications for proactive management and troubleshooting.
Customization:
Make CrushFTP work with any possible parameters in mind through configurable settings, themes, and extensions
The code is written and the tests pass. I just have to commit this last round of changes to my branch. Wait, why does that say committed to main? Did I commit all those changes to main? Arghh! I can’t redo all of this!
Committing changes to the wrong branch, forgetting files, misspelling the commit message, and needing to undo commits are some of the “advanced” features of Git that we normal people run into way too often and need help with. The fixes are often easy – once you know what they are. But in the heat of the moment, with the deadline (or Friday afternoon) approaching, it isn’t always easy to figure out what magic spell to cast to get Git to do what you need.
We’ll spend some time looking at typical Git situations people get themselves into, and then we’ll demonstrate how to get out of them. This isn’t about Git internals or a Git master’s class – this real-world Git when things aren’t going right. And there will be plenty of time for questions, so bring your “best” Git nightmare scenarios so we can figure out how to recover.
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...OnePlan Solutions
Unlock the full potential of your projects with OnePlan’s seamless integration with monday.com. Join us to discover how OnePlan enhances monday.com by aligning your portfolio of projects with your organization’s strategic goals, optimizing resource allocation, and streamlining performance tracking. Learn how this powerful combination can drive efficiency, cost savings, and strategic success within your organization.
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing ToolsBenjamin Bischoff
In the rapidly evolving landscape of software development and testing, it is tempting to chase the latest tools and technologies. However, some of the most effective solutions have been in existence for decades. In this talk, we’ll delve into the enduring value of these timeless testing tools.
We’ll explore how established tools like Selenium, GNU Make, Maven, and Bash remain vital in today’s software development and testing toolkit even though they have been around for a long time (some were even invented before I was born). I’ll share examples of how these tools have addressed our testing and automation challenges, showcasing their adaptability, versatility, and reliability in various scenarios. I aim to demonstrate that sometimes, the “old” ways can indeed be the best ways.
What is Micro Frontends and Why Use it.pdflead93317
🚀 Let's Deep Dive into 𝐖𝐡𝐲 𝐌𝐢𝐜𝐫𝐨 𝐅𝐫𝐨𝐧𝐭𝐞𝐧𝐝𝐬 𝐢𝐬 𝐭𝐡𝐞 𝐅𝐮𝐭𝐮𝐫𝐞 𝐨𝐟 𝐅𝐫𝐨𝐧𝐭𝐞𝐧𝐝 𝐀𝐫𝐜𝐡𝐢𝐭𝐞𝐜𝐭𝐮𝐫𝐞 🚀
In today's fast-paced tech landscape, agility, scalability, and maintainability are more crucial than ever. Traditional monolithic frontend architectures often struggle to keep up with these demands. Enter Micro Frontends: a revolutionary approach that's transforming the way we build web applications.
Fix Production Bugs Quickly - The Power of Structured Logging in Ruby on Rail...John Gallagher
Rails apps can be a black box. Have you ever tried to fix a bug where you just can’t understand what’s going on? This talk will give you practical steps to improve the observability of your Rails app, taking the time to understand and fix defects from hours or days to minutes. Rails 8 will bring an exciting new feature: built-in structured logging. This talk will delve into the transformative impact of structured logging on fixing bugs and saving engineers time. Structured logging, as a cornerstone of observability, offers a powerful way to handle logs compared to traditional text-based logs. This session will guide you through the nuances of structured logging in Rails, demonstrating how it can be used to gain better insights into your application’s behavior. This talk will be a practical, technical deep dive into how to make structured logging work with an existing Rails app.
I talk about the Steps to Observable Software - a practical five step process for improving the observability of your Rails app.
Mastering MicroStation DGN: How to Integrate CAD and GISSafe Software
Dive deep into the world of CAD-GIS integration and elevate your workflows to nexl-level efficiency levels. Discover how to seamlessly transfer data between Bentley MicroStation and leading GIS platforms, such as Esri ArcGIS.
This session goes beyond mere CAD/GIS conversion, showcasing techniques to precisely transform MicroStation elements including cells, text, lines, and symbology. We’ll walk you through tags versus item types, and understanding how to leverage both. You’ll also learn how to reproject to any coordinate system. Finally, explore cutting-edge automated methods for managing database links, and delve into innovative strategies for enabling self-serve data collection and validation services.
Join us to overcome the common hurdles in CAD and GIS integration and enhance the efficiency of your workflows. This session is perfect for professionals, both new to FME and seasoned users, seeking to streamline their processes and leverage the full potential of their CAD and GIS systems.
Literals - A Machine Independent Feature21h16charis
Introduction to Literals, A machine independent feature. The presentation is based on the prescribed textbook for System Software and Compiler Design, Computer Science and Engineering - System Software by Leland. L. Beck,
D Manjula.
In today's dynamic business landscape, ERP software systems are essential tools for businesses worldwide, including those in the UAE. These systems cater to the unique needs of the UAE's rapidly changing economy and expanding industries.
This blog examines the top 10 ERP companies in the UAE, highlighting their innovative products, exceptional customer support, and significant impact on the regional business community. These companies excel in providing ERP solutions that enhance efficiency and growth for businesses throughout the UAE.
1. **Odoo**
- Odoo ERP is a comprehensive business management solution with features like accounting, HR, sales, inventory control, and CRM. Its user-friendly interface simplifies processes and boosts productivity. Banibro IT Solutions leverages Odoo to transform business operations.
- **Details:**
- Suitable for: Small, Medium, Large Businesses
- Open Source: Yes
- Cloud-based: Yes (Cloud and On-premises)
- Support: Phone, Chat, Email
- Payment: Yearly, Monthly
- Multi-Language: Yes
- OS Support: Windows, Mac, iOS, Android
- API: Available
2. **Microsoft Dynamics 365**
- Dynamics 365 offers a centralized platform for small and medium-sized businesses, integrating with Microsoft apps and cloud services for scalability. It simplifies data processing with user-friendly interfaces and customizable reporting.
- **Details:**
- Suitable for: Small, Medium, Large Businesses
- Support: Phone, Chat, Email, Knowledge Base
- Payment: One-Time, Yearly, Monthly
- Multi-Language: No
- OS Support: Web App, Windows, iOS, Android
- API: Not specified
3. **FirstBIT ERP**
- Known for serving small and medium-sized businesses, FirstBIT ERP offers comprehensive solutions and exceptional customer service, enhancing productivity and efficiency.
- **Details:**
- Suitable for: Medium, Large Businesses
- Open Source: Yes/No
- Cloud-based: Yes (Cloud and On-premises)
- Support: Phone, Email, Video Tutorials
- Payment: Yearly, Monthly
- Multi-Language: Yes
- OS Support: Web App, Windows, Mac, iOS, Android
- API: Available
4. **Ezware Technologies**
- Ezware Technologies provides top-notch ERP solutions for various industries with user-friendly modules that streamline complex business processes.
- **Details:**
- Suitable for: Small, Medium, Large Businesses
- Support: Phone, Chat, Email, Knowledge Base
- Payment: One-Time, Yearly, Monthly
- Multi-Language: No
- OS Support: Web App, Windows, Mac, iOS, Android
- API: Not specified
5. **RealSoft**
- RealSoft by Coral is popular in Dubai, offering modules for contracting, real estate, job costing, manufacturing, trading, and finance. It's VAT-enabled and affordable for medium-sized businesses.
- **Details:**
- Suitable for: Small, Medium, Large Businesses
- Open Source: No
- Cloud-based: On-premises
-
PathSpotter: Exploring Tested Paths to Discover Missing Tests (FSE 2024)Andre Hora
When creating test cases, ideally, developers should test both the expected and unexpected behaviors of the program to catch more bugs and avoid regressions. However, the literature has provided evidence that developers are more likely to test expected behaviors than unexpected ones. In this paper, we propose PathSpotter, a tool to automatically identify tested paths and support the detection of missing tests. Based on PathSpotter, we provide an approach to guide us in detecting missing tests. To evaluate it, we submitted pull requests with test improvements to open-source projects. As a result, 6 out of 8 pull requests were accepted and merged in relevant systems, including CPython, Pylint, and Jupyter Client. These pull requests created/updated 32 tests and added 80 novel assertions covering untested cases. This indicates that our test improvement solution is well received by open-source projects.
Test Polarity: Detecting Positive and Negative Tests (FSE 2024)Andre Hora
Positive tests (aka, happy path tests) cover the expected behavior of the program, while negative tests (aka, unhappy path tests) check the unexpected behavior. Ideally, test suites should have both positive and negative tests to better protect against regressions. In practice, unfortunately, we cannot easily identify whether a test is positive or negative. A better understanding of whether a test suite is more positive or negative is fundamental to assessing the overall test suite capability in testing expected and unexpected behaviors. In this paper, we propose test polarity, an automated approach to detect positive and negative tests. Our approach runs/monitors the test suite and collects runtime data about the application execution to classify the test methods as positive or negative. In a first evaluation, test polarity correctly classified 117 tests as as positive or negative. Finally, we provide a preliminary empirical study to analyze the test polarity of 2,054 test methods from 12 real-world test suites of the Python Standard Library. We find that most of the analyzed test methods are negative (88%) and a minority is positive (12%). However, there is a large variation per project: while some libraries have an equivalent number of positive and negative tests, others have mostly negative ones.
Empowering Businesses with Intelligent Software Solutions - GrawlixAarisha Shaikh
Explore Grawlix's comprehensive suite of intelligent software solutions designed to drive transformative growth and scalability for businesses. This presentation covers our expertise in bespoke software development, digital marketing, web design, cloud solutions, cybersecurity, AI/ML, and IT consulting. Discover how Grawlix's customized solutions enhance productivity, streamline processes, and enable data-driven decision-making. Learn about our key projects, technologies, and the dedicated team who ensures exceptional client satisfaction through innovation and excellence.
3. After completing
this lesson, you
will be able to
understand:
1. Static and Dynamic testing techniques
2.Test designing
4. K Levels
4)Test design techniques: (K4)
Identifying test conditions and designing test cases (K2)
Categories of test design techniques (K2)
Specification based or Black Box techniques (eg. BVA, Equivalence
Partitioning) (K3)
Structure based or white Box techniques (K4)
Experienced based techniques (Error guessing and Exploratory
guessing) (K2)
Choosing aTest techniques (K2)
5. Understand -
Test basis
The test basis is the information we need
in order to start the test analysis
and create our own test cases.
Basically it’s a documentation on which
test cases are based, such as
requirements, design specifications,
product risk analysis, architecture and
interfaces.
6. Understand -
TestCondition
and
Test Possibilities.
A test condition is simply something
that we could test.
While identifying the test conditions we
want to identify as many conditions as
we can and then we select about which
one to take forward and combine into
test cases.We could call them test
possibilities.
7. Why test design
techniques ?
Recollect – Exhaustive testing is
impossible !!!!
We need some intelligent thought
processes to guide our selection; test
techniques (i.e. test design techniques)
are such thought processes.
8. Traceability
Test conditions should be able to be linked back to their sources in
the test basis - this is called traceability.
9. Why
Traceability ?
The requirements for a given function or
feature have changed.
A set of tests that has run OK in the past has
started to have serious problems.
Before delivering a new release, we want to
know whether or not we have tested all of the
specified requirements in the requirements
specification?
11. What isStatic
testing
technique?
Static testing is the testing of the software
work products manually, or with a set of tools,
but they are not executed.
It starts early in the Life cycle and so it is done
during the verification process.
For example: reviewing, walk through,
inspection
12. What is
Dynamic
testing
technique?
This testing technique needs computer for
testing.
It is done duringValidation process.
The software is tested by executing it on
computer.
Example of this DynamicTestingTechnique:
Unit testing, integration testing, system
testing.
13. What is black-box
[Specification/Behavioral]
testing technique ?
The testers have no knowledge of how the system or component
is structured inside the box.
In black-box testing the tester is concentrating on what the
software does, not how it does it.
Perform both functional and non-functional testing.
Functional testing is concerned with what the system does its
features or functions. Non-functional testing is concerned with
examining how well the system does
There are four specification-based or black-box technique:
Equivalence partitioning
Boundary value analysis
Decision tables
State transition testing
14. Dynamic testing
technique =>
Black Box =>
Equivalence
partitioning
The idea behind this technique is to divide (i.e. to partition) a set of
test conditions into groups or sets that can be considered the
same (i.e. the system should handle them equivalently), hence
‘equivalence partitioning’.
Equivalence partitions are also known as equivalence classes –
the two terms mean exactly the same thing.
The hypothesis behind this technique is that if one
condition/value in a partition passes all others will also pass.
Likewise, if one condition in a partition fails, all other
conditions in that partition will fail.
Similarly, if one of the conditions in a partition does not work, then
we assume that none of the conditions in that partition will work
15. Dynamic testing
technique =>
Black Box =>
Equivalence
partitioning
[Example]
Scenario : Flight reservation application
Ticket values [Number of tickets a user can book in single session]
1 to 10 are considered valid & ticket is booked.
While value 11 to 99 are considered invalid for reservation and
error message will appear, "Only ten tickets may be ordered at
one time.“
Identify ?
1.test condition
2.Valid Invalid set
16. Dynamic testing
technique =>
Black Box =>
Equivalence
partitioning
[Example]
Here is the test condition
1.Any Number greater than 10 entered in the reservation column (let say
11) is considered invalid.
2.Any Number less than 1 that is 0 or below, then it is considered invalid.
3.Numbers 1 to 10 are considered valid
4.Any 3 Digit Number say -100 is invalid.
17. Dynamic testing
technique =>
Black Box =>
BoundaryValue
Analysis
[with Example]
Here we check the values at the partitions like 0, 1, 10, 11 and so on. As you may
observe, you test values at both valid and invalid boundaries. BoundaryValue
Analysis is also called range checking.
In BoundaryValue Analysis, you test boundaries between equivalence partitions.
Equivalence partitioning and boundary value analysis are closely related and can
be used together at all levels of testing.
18. Dynamic testing
technique =>
Black Box =>
BVA and EVP
Summary:
BoundaryAnalysis testing is used when practically it is
impossible to test large pool of test cases individually.
Two techniques - Equivalence Partitioning & BoundaryValue
Analysis testing techniques is used.
In Equivalence Partitioning, first you divide a set of test
condition into a partition that can be considered.
In BoundaryValue Analysis you then test boundaries between
equivalence partitions
19. Dynamic testing
technique =>
Black Box =>
Decision table
What we do if the test data got different set of input data ?
>>> Here we cannot perform BVA / EVP .
A decision table is a good way to deal with combinations of
things (e.g. inputs).This technique is sometimes also referred
to as a ‘Cause-effect’ table.
Decision tables provide a systematic way of stating complex
business rules, which is useful for developers as well as for
testers.
20. Decision table [Example]
Scenario : let's consider the behavior of Flight Button for different combinations of Fly From & FlyTo.
Rule 1: When destination for both Fly From & FlyTo are not set the Flight Icon is disabled.
Rule 2: When Fly From destination is set but Fly to is not set, Flight button is disabled.
Rule 3: When Fly from destination is not set but Fly to destination is set, Flight button is disabled
Rule 4: only when Fly to and Fly from destinations are set, Flights button is enabled
FillThe decision table
Conditions Rule 1 Rule 2 Rule 3 Rule 4
Fly From F T F T
FlyTo F F T T
Actions/Outcomes
Search Option is Enabled ?? ?? ?? ??
Error / Alert message ?? ?? ?? ??
21. Conditions Rule 1 Rule 2 Rule 3 Rule 4
Fly From F T F T
FlyTo F F T T
Actions/Outcomes
Search Option is Enabled F F F T
Error / Alert message T T T F
If you observe the outcomes for Rule 1, 2 & 3 it remains the same. So you can select any one of them
and rule 4 for your testing.
The significance of this technique becomes immediately clear as the number of inputs increases. Number of
possible Combinations is given by 2 ^ n , where n is the number of Inputs. For n = 10, which is very common in
the web based testing, having big input forms, the number of combinations will be 1024.
Obviously, you cannot test all but you will choose a rich sub-set of the possible combinations using decision
based testing technique
22. Dynamic testing
technique =>
Black Box =>
State transition
Any system where you get a different output for the same input,
depending on what has happened before, is a finite state
system.
Example : ATM cashWithdrawal.
Input :Withdraw Rs 1000
Output 1 : Check balance and output money
Output 2 : Check balance and Display message : No balance
Output 3 :ATM out of Order
A state transition model has four basic parts:
The states that the software may occupy (open/closed or funded/insufficient
funds)
The transitions from one state to another (not all transitions are allowed)
The events that cause a transition (closing a file or withdrawing money);
The actions that result from a transition (an error message or being given
your cash).
24. Dynamic testing
technique =>
Black Box =>
Use case testing
A use case is a description of a particular use of the system by an
actor (a user of the system).
Each use case describes the interactions the actor has with the
system in order to achieve a specific task (or, at least, produce
something of value to the user).
Actors are generally people but they may also be other systems.
Use cases are a sequence of steps that describe the interactions
between the actor and the system.
They serve as the foundation for developing test cases mostly at
the system and acceptance testing levels
26. What isWhite- box
[Structured/Glassbox]
testing technique ?
The testers require knowledge of how the software is
implemented, how it works.
In white-box testing the tester is concentrating on how the
software does it. [Example : loops ]
Developers use structure-based techniques in component testing
and component integration testing, especially where there is good
tool support for code coverage.
27. Dynamic testing
technique =>
White Box =>
Test coverage
Test coverage measures the amount of testing performed by a set of test.
The basic coverage measure is
where the 'coverage item' is whatever we have been able to count and see whether
a test has exercised or used this item.
There is danger in using a coverage measure. 100% coverage does not mean 100%
tested!
28. Dynamic testing
technique =>
White Box =>
Test coverage
[pros / cons]
Benefit of code coverage measurement:
It creates additional test cases to increase coverage
It helps in finding areas of a program not exercised by a set of test cases
It helps in determining a quantitative measure of code coverage, which
indirectly measure the quality of the application or product.
Drawback of code coverage measurement:
One drawback of code coverage measurement is that it measures
coverage of what has been written, i.e. the code itself; it cannot say
anything about the software that has not been written.
If a specified function has not been implemented or a function was
omitted from the specification, then structure-based techniques cannot
say anything about them it only looks at a structure which is already there.
29. We can also measure coverage for each of the specification-based techniques or black-box testing:
• EVP: percentage of equivalence partitions exercised (we could measure valid and invalid partition
coverage separately)
• BVA: percentage of boundaries exercised (we could also separate valid and invalid boundaries)
• Decision tables: percentage of business rules or decision table columns tested
• State transition testing: there are a number of possible coverage measures:
— Percentage of states visited
— Percentage of (valid) transitions exercised (this is known as Chow’s 0- switch coverage)
— Percentage of pairs of valid transitions exercised (‘transition pairs’ or
Chow’s 1-switch coverage) – and longer series of transitions, such as transition triples, quadruples, etc.
— Percentage of invalid transitions exercised (from the state table).
30. Dynamic testing
technique =>
White Box =>
Test coverage
[Types]
The different types of coverage are:
1) Statement coverage
2) Decision coverage
3) Condition coverage.
31. Dynamic testing
technique =>
White Box =>
Test coverage =>
Statement
coverage
01
The statement coverage is also known as line coverage or
segment coverage.
The statement coverage covers only the true conditions.
In this process each and every line of code needs to be
checked and executed
Through statement coverage we can identify the statements
executed and where the code is not executed because of
blockage.
32. Dynamic testing
technique =>
White Box =>
Test coverage =>
Statement
coverage
Pros /Cons
Advantage of statement coverage:
It verifies what the written code is expected to do and not to
do
It measures the quality of code written
It checks the flow of different paths in the program and it also
ensure that whether those path are tested or not.
Disadvantage of statement coverage:
It cannot test the false conditions.
It does not report that whether the loop reaches its
termination condition.
It does not understand the logical operators.
33. Dynamic testing
technique =>
White Box =>
Test coverage =>
Statement
coverage
Example
1 READ X
2 READ Y
3 Z =X + 2*Y
4 IF Z> 50 THEN
5 PRINT large Z
6 ENDIF
We have two read statements, one assignment statement, and then one IF
statement on three lines, but the IF statement
contains another statement (print) as part of it.
Lets analyze the above code with theTest set.
Test 1_1: X= 2,Y = 3 ,what's the coverage ?
Test 1_2: X =0,Y = 25 , what's the coverage ?
Test 1_3: X =47,Y = 1 , what's the coverage ?
Test1_4 : X= 2,Y=25, , what's the coverage ?
34. •In Test 1_1, the value of Z will be 8, so we will cover the statements on lines 1 to 4 and line 6.
•In Test 1_2, the value of Z will be 50, so we will cover exactly the same statements as Test 1_1.
•In Test 1_3, the value of Z will be 49, so again we will cover the same statements.
•In Test 1_4, the value of Z will be 52, so we will cover the statements on lines 1 to 6.
•so now statement coverage = 100%.
35. Dynamic testing
technique =>
White Box =>
Test coverage =>
BranchCoverage or
DecisionCoverage
A branch is the outcome of a decision, so branch coverages
imply measures which decision outcomes have been tested.
It covers both the true and false conditions unlikely the
statement coverage.
Note : 100% decision coverage guarantees 100% statement
coverage, but not the other way around.
37. To calculate Branch Coverage, one
has to find out the minimum number
of paths which will ensure that all the
edges are covered.
(1) 1A-2C-3D-E-4G-5H
(2) 1A-2B-E-4F
Hence Branch Coverage is 2.
38. Dynamic testing
technique =>
White Box =>
Test coverage =>
Condition
Coverage
Condition coverage is also known as Predicate Coverage in
which each one of the Boolean expression have been
evaluated to bothTRUE and FALSE.
However, full condition coverage does not guarantee full
decision coverage.
Identify how many test set is required for 100% condition coverage.
Tip : In order to ensure complete
Condition coverage criteria for the
example,
A, B and C should be evaluated at
least once against "true" and "false".
39. So, in our example, the 3 following tests would be sufficient for
100% Condition coverage testing.
Note :
Other control-flow code-coverage measures include linear code sequence and jump (LCSAJ)
coverage, condition coverage, multiple condition coverage (also known as condition
combination coverage) and condition determination coverage (also known as multiple
condition decision coverage or modified condition decision coverage, MCDC).
40. Dynamic testing
technique =>
White Box =>
Test coverage =>
PathCoverage
Another popular, but often misunderstood, code-coverage
measure is path coverage. Sometimes any structure-based
technique is called 'path testing‘
We will detailed study with an example
42. Statement Coverage (SC):
Find out the shortest number of paths following which all the nodes will
be covered.
Path 1A-2C-3D-E-4G-5H [12345] all the nodes are covered
Statement coverage = 1
Branch Coverage (BC): The aim is to cover all possible true/false decisions.
Find out the minimum number of paths which will ensure covering of all the
edges. Paths are :
1A-2C-3D-E-4G-5H
1A-2B-E-4F.
Branch Coverage = 2.
Path Coverage (PC): Path Coverage ensures covering of all the paths from
start to end. All possible paths are-
1A-2B-E-4F
1A-2B-E-4G-5H
1A-2C-3D-E-4G-5H
1A-2C-3D-E-4F
Path coverage = 4.
44. Dynamic testing
technique =>
Experienced based
testing
In experience-based techniques, people's knowledge, skills
and background are of prime importance to the test
conditions and test cases.
Experience-based techniques go together with specification-
based and structure-based techniques, and are also used
when there is no specification, or if the specification is
inadequate or out of date.
The types of Experienced based testing are
Error guessing
Exploratory testing
45. Dynamic testing
technique =>
Experienced based
testing =>
Error guessing
The Error guessing is a technique where the
experienced and good testers are encouraged to
think of situations in which the software may not be
able to cope.
The success of error guessing is very much dependent
on the skill of the tester, as good testers know where
the defects are most likely to be
Error guessing is a technique that should always be
used as a complement to other more formal
techniques.
46. Dynamic testing
technique =>
Experienced based
testing =>
Exploratory testing
Exploratory testing is a hands-on approach in which
testers are involved in minimum planning and
maximum test execution.
The test design and test execution activities are
performed in parallel typically without formally
documenting the test conditions, test cases or test
scripts.
47. How to choose
that which testing
technique is best?
Each technique is good in its own way in finding out the certain
kind of defect, and not as good for finding out the other kind of
defects.
For example, one of the benefits of structure-based
techniques is that they can find out the defects or things in the
code that aren’t supposed to be there, such as ‘Trojan horses’
or other malicious code.
However, if there are parts of the specification that are missing
from the code, only specification-based techniques will find
that, structure-based techniques can only test what is there.
If there are things missing from the specification and from the
code, then only experience based techniques would find them.
48. How to So, how to choose which testing technique is best, decision will be based on a number of factors, both
internal and external that which testing technique is best?
Internal factors
Models used in developing the system
Testers knowledge and their experience
Similar type of defects
Test objective
Documentation
Life cycle model used
External factors
Risk assessment
Customer and contractual requirements
Type of system used
Regulatory requirements
Time and budget of the project
49. TEST PLAN OUTLINE
(IEEE 829 Format)
1. Test Plan Identifier
2. References
3. Introduction
4. Test Items
5. Software Risk Issues
6. Features to be Tested
7. Features not to be Tested
8. Approach [Strategy]
9. Item Pass/Fail Criteria
10. Suspension Criteria and Resumption Requirements
11. Test Deliverables
12. Remaining Test Tasks
13. Environmental Needs
14. Staffing and Training Needs
15. Responsibilities
16. Schedule
17. Planning Risks and Contingencies
18. Approvals
19. Glossary
50. Q &A
Lets try to answer few questions based
on chapter 04
51. Question 1 In which document described in IEEE 829 would you find
instructions for the steps to be taken for a test including set-up,
logging, environment and measurement?
a.Test plan
b.Test design specification
c.Test case specification
d.Test procedure specification
52. Question 2 With a highly experienced tester with a good business
background, which approach to defining test procedures would be
effective and most efficient for a project under severe time pressure?
a. A high-level outline of the test conditions and general steps to take.
b. Every step in the test spelled out in detail.
c. A high-level outline of the test conditions with the steps to take discussed in detail
with another experienced tester.
d. Detailed documentation of all test cases and careful records of each step taken in
the testing
53. Question 3 Put the test cases that implement the following test conditions into
the best order for the test execution schedule, for a test that is checking
modifications of customers on a database.
1 Print modified customer record.
2 Change customer address: house number and street name.
3 Capture and print the on-screen error message.
4 Change customer address: postal code.
5 Confirm existing customer is on the database by opening that record.
6 Close the customer record and close the database.
7 Try to add a new customer with no details at all.
a. 5,4, 2,1, 3, 7, 6
b. 4,2,5,1,6,7,3
c. 5,4,2,1,7,3,6
d. 5,1, 2, 3,4, 7, 6
54. Question 4 Why are both specification-based and structure-based
testing techniques useful?
a. They find different types of defect.
b. Using more techniques is always better.
c. Both find the same types of defect.
d. Because specifications tend to be unstructured.
55. Question 5 What is a key characteristic of structure-based testing
techniques?
a. They are mainly used to assess the structure of a specification.
b. They are used both to measure coverage and to design tests to increase
coverage.
c. They are based on the skills and experience of the tester.
d. They use a formal or informal model of the software or component.
56. Question 6 Which of the following would be an example of decision-table testing
for a financial application applied at the system-test level?
a. A table containing rules for combinations of inputs to two fields on a screen.
b. A table containing rules for interfaces between components.
c. A table containing rules for mortgage applications.
d. A table containing rules for chess.
57. Question 7 Which of the following could be a coverage
measure for state transition testing?
V : All states have been reached.
W : The response time for each transaction is adequate.
X : Every transition has been exercised.
Y : All boundaries have been exercised.
Z : Specific sequences of transitions have been exercised.
a. X,Y and Z
b. V, X, Y and Z
c. W,X and Y
d. V, X and Z
58. Question 8 Postal rates for 'light letters' are 25p up to l0g, 35p up to 50g plus an
extra l0p for each additional 25g up to l00g. Which test inputs (in grams) would be
selected using equivalence partitioning?
a. 8,42,82,102
b. 4,15, 65, 92,159
c. 10,50,75,100
d. 5, 20, 40, 60, 80
59. Question 9 Which of the following could be used to assess the coverage achieved
for specification based (black-box) test techniques?
V Decision outcomes exercised
W Partitions exercised
X Boundaries exercised
Y State transitions exercised
Z Statements exercised
a. V,W,Y or Z
b. W,X or Y
a. V,X or Z
b. W, X, Y or Z
60. Question 10 Which of the following statements about the relationship between
statement coverage and decision coverage is correct?
a. 100% decision coverage is achieved if statement coverage is greater than 90%.
b. 100% statement coverage is achieved if decision coverage is greater than 90%.
c. 100% decision coverage always means 100% statement coverage.
d. 100% statement coverage always means 100% decision coverage.
Editor's Notes
a financial application involving many calculations would benefit from boundary value analysis.