This is chapter 2 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 1 of ISTQB Agile tester extension certification. This chapter will give you the understanding about the content of chapter 1 of the certification.
This is chapter 3 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
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
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
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
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.
Chapter 1 of ISTQB Agile tester extension certification. This chapter will give you the understanding about the content of chapter 1 of the certification.
This is chapter 3 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
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
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
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
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.
This is chapter 4 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 1 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 6 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is the chapter 3 of ISTQB Agile Tester Extension certification. This presentation helps aspirants understand and prepare content of certification.
This is chapter 6 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 7 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 5 of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 2 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 1 - The Technical Test Analyst Tasks in Risk Based TestingNeeraj Kumar Singh
This is chapter 1 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 3 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 4 of ISTQB Specialist Mobile Application Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 2 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 4 - Quality Characteristics for Technical TestingNeeraj Kumar Singh
This is chapter 4 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 5 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 1 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 4 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 1 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 6 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is the chapter 3 of ISTQB Agile Tester Extension certification. This presentation helps aspirants understand and prepare content of certification.
This is chapter 6 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 7 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 5 of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 2 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 1 - The Technical Test Analyst Tasks in Risk Based TestingNeeraj Kumar Singh
This is chapter 1 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 3 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 4 of ISTQB Specialist Mobile Application Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 2 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 4 - Quality Characteristics for Technical TestingNeeraj Kumar Singh
This is chapter 4 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 5 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 1 of ISTQB Advance Agile Technical Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
Agile Testing: Best Practices and Methodology Zoe Gilbert
Get more control and bug free code to ensure no crash in your application, employ agile testing which restricts your testing efforts for repetitive task. Read this blog to understand details for agile testing including all type of testing methods and best practices.
The certification for Foundation Level Extension – Agile Tester is designed for professionals who are working within Agile environments. It is also for professionals who are planning to start implementing Agile methods in the near future, or are working within companies that plan to do so.
This is chapter 1 of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
Testing throughout the software life cycle & statistic techniquesNovika Damai Yanti
CATEGORIES OF TEST DESIGN TECHNIQUES
Recall reasons that both specification-based (black-box) and structure-based (white-box) approaches to test case design are useful, and list the common techniques for each. (K1)
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
The growth of the software development industry approaches the new development methodologies to deliver the
error free software to its end-user fulfilling the business values to product. The growth of tools and technology
has brought the automation in the development and software testing process, it has also increased the demand of
the fast testing and delivery of the software to end customers. Traditional software development methodologies
to trending agile software development trend have brought new philosophy, dimensions, and processes having
invested new tools to make process easy. The Agile development (Scrum, XP, FDD, BDD, ATDD, ASD,
DSDM, Kanban, Crystal and Lean) process also faces the software testing model crises because of the fast
development of life cycles, fast delivery to end users without having appropriate test metrics which make the
software testing process slow as well as increase the risk. The analysis of the testing metrics in the software
testing process and setting the right lean test metrics help to improve the software quality effectively in agile
process.
Creating Test Scenarios Demystified_ Your Ultimate How-To Guide.pdfkalichargn70th171
In the vast landscape of an application, each feature is like a landmark. The goal is to make sure we visit each of these landmarks to ensure they are as expected. That’s where the test scenarios come in. They provide a high-level view, a roadmap of all the features (landmarks) that need to be tested. Each test scenario can be thought of as a potential route that a user might take through the software or application. This makes them an invaluable tool for ensuring all functionalities are checked and validated.
Chapter 4 - Mobile Application Platforms, Tools and EnvironmentNeeraj Kumar Singh
This is chapter 4 of ISTQB Specialist Mobile Application Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsNeeraj Kumar Singh
This is chapter 3 of ISTQB Specialist Mobile Application Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 2 of ISTQB Specialist Mobile Application Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 1 - Mobile World - Business and Technology DriversNeeraj Kumar Singh
This is chapter 1 of ISTQB Specialist Mobile Application Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is a Sample Question Paper of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is the answer to Sample Questions of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
ISTQB Performance Tester Certification Syllabus and Study MaterialNeeraj Kumar Singh
This is Syllabus of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 4 of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
Chapter 3 - Performance Testing in the Software LifecycleNeeraj Kumar Singh
This is chapter 3 of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 2 of ISTQB Specialist Performance Tester certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 5 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 4 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
This is chapter 3 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
ISTQB Technical Test Analyst Answers to Sample Question PaperNeeraj Kumar Singh
Here are the answers and justification for the sample question paper for ISTQB Advance Technical Test Analyst for certification preparation. This is a standard paper from ISTQB.
ISTQB Advance level syllabus 2019 Technical Test AnalystNeeraj Kumar Singh
ISTQB Advance Level Technical Test Analyst official syllabus and preparation guide. It includes a detailed explanation of the entire syllabus and crisp study material
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
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
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
2. Testing in Agile
Contents
2.1 Agile development and test techniques
2.2 Experience-based testing in Agile
2.3 Aspects of code quality
Neeraj Kumar Singh
3. Testing in Agile
Contents
2.1.1 Apply test-driven development
2.1.2 Apply behavior-driven development
2.1.3 Analyze a product backlog to introduce
acceptance test-driven development
Neeraj Kumar Singh
4. Agile Development and Test Techniques
Applying Behavior Driven Development
According to the ISTQB® Agile Foundation syllabus, behavior-driven development (BDD) is a technique in which
developers, testers, and business representatives work together to analyze the requirements of a software system,
formulate them using a shared language, and verify them automatically.
BDD is strongly influenced by two separate disciplines: test-driven development (TDD) and domain driven design
(DDD). It incorporates many of the core principles of both disciplines, including collaboration, design, ubiquitous
language, automated test execution, short feedback cycles, and more.
TDD relies on unit tests to verify implementation details whereas BDD relies on executable scenarios to verify
behaviors and more. BDD generally follows a prescribed path:
Create user stories collaboratively
Formulate user stories as executable scenarios and verifiable behaviors
Implement behaviors and execute the scenarios to verify them
Teams that apply BDD extract one or more scenario from each user story and then formulate them as automated
tests. A scenario represents a single behavior under specific conditions. Scenarios are typically based on user
story’s acceptance criteria, examples, and use cases. BDD scenarios should be written using language that can be
understood by all team members, whether technical or non-technical.
Neeraj Kumar Singh
5. Agile Development and Test Techniques
Applying Behavior Driven Development
BDD scenarios are typically composed of three main sections :
1. Given – describes the state of the environment (preconditions) before the behavior is triggered
2. When – describes the actions that trigger the behavior
3. Then – describes the expected results of the behavior
Extracting scenarios from user stories involves:
Identifying all acceptance criteria specified by a user story and writing scenarios for each criterion.
Identifying functional use cases and examples and writing scenarios for each of them.
Creating scenarios while testing exploratory, which can help identifying related existing behaviors, potential conflicting
behaviors, minimal states, alternative flows, etc.
Looking for repeated use of steps or groups of steps to avoid repetitive work.
Identifying areas that require random or synthetic data.
Identifying steps that require mocks, stubs or drivers to maintain isolation and to avoid executing integrations or possibly
costly processes.
Ensuring scenarios are atomic and do not affect each other’s state (isolated).
Deciding whether to limit the When sections to one step in accordance with the principle that every test checks just one
thing, or to optimize for other considerations, such as test execution speed.
Neeraj Kumar Singh
6. Agile Development and Test Techniques
Applying Behavior Driven Development
Recommended guidelines for formulating scenarios include:
The scenario should describe a specific behavior that the system supports from the perspective of a specific user.
The scenario should use the third person when describing the steps (Given, When, Then) to describe the state and
interactions from the perspective of the user.
The scenarios should be isolated and atomic so that they can be run in any order and not affect each other or rely on
each other.
The When steps should describe the semantic actions that a user performs rather than the specific technical actions,
unless there is a particular need to test a specific action. For example, “The user confirms the order” (a semantic
action) is generally preferable to “The user clicks the Confirm button” (a technical action) unless the button itself
has to be tested.
The Then steps should describe specific observations or states.
Neeraj Kumar Singh
8. Testing in Agile
Contents
2.1 Agile development and test techniques
2.2 Experience-based testing in Agile
2.3 Aspects of code quality
Neeraj Kumar Singh
9. Testing in Agile
Contents
2.1.1 Apply test-driven development
2.1.2 Apply behavior-driven development
2.1.3 Analyze a product backlog to introduce
acceptance test-driven development
Neeraj Kumar Singh
10. Agile Development and Test Techniques
Applying Acceptance Test Driven Development
Acceptance test-driven development (ATDD) supports the coordination of software projects to address the delivery
based on the customer needs. Acceptance tests are specifications for the desired behavior and functionality of a
system.
A user story represents a piece of customer-valued functionality. Acceptance tests verify that this functionality is
implemented correctly.
This user story is split by the developers into a set of tasks required to implement that functionality. Developers
can implement these tasks using TDD. When a given task is completed, the developers move on to the next task,
and so forth, until the user story is completed, which is indicated by successfully executed acceptance tests.
Both BDD and ATDD are customer focused whereas TDD is developer focused. BDD and ATDD are similar in that they
both produce the same result: a shared understanding of what is to be built and how to build the thing right. BDD
is a structured way of writing test cases
Neeraj Kumar Singh
11. Agile Development and Test Techniques
Applying Acceptance Test Driven Development
ATDD separates the test intention, which is expressed in a human readable format such as plain text, from the test
implementation, which is preferably automated. This important separation means that business-facing and other
non-technical team members such as product owners, analysts, and testers can take an active role in describing
testable examples (or acceptance tests) to drive development.
Stakeholders with different roles and perspectives, such as customer, developer, and tester come together to
collaboratively discuss a potential user story (or other form of requirement) to reach a shared understanding of the
problem to be solved, to ask each other open questions regarding the functionality and to explore concrete,
testable examples of required behavior.
The agreed examples are valuable outputs in themselves, so it is important to remember that although they may
also be automated as acceptance tests, it is not always necessary or cost-effective to do so.
Neeraj Kumar Singh
12. Agile Development and Test Techniques
Applying Acceptance Test Driven Development
This illustrates an important role for the Agile tester in this situation. During the discussions, the tester may be
thinking in terms of test techniques, such as equivalence partitioning, boundary value analysis, and so on. They can
use this analytical approach to encourage questions to be asked to the product owner about where the interesting
behaviors and edge cases can be found.
Specification by example (or SBE) refers to a collection of useful patterns that allow an Agile team to discover,
discuss, and confirm the important outcomes required by business stakeholders and the software behaviors that
are needed to reach those outcomes.
The term has been widely used to include and broaden the meaning of the term acceptance test-driven
development (ATDD).
Neeraj Kumar Singh
14. Testing in Agile
Contents
2.1 Agile development and test techniques
2.2 Experience-based testing in Agile
2.3 Aspects of code quality
Neeraj Kumar Singh
15. Experience Based Techniques in Agile
Contents
2.2.1 Combining experience-based techniques
and black-box tests
2.2.2 Creating test charters and
interpreting their results
Neeraj Kumar Singh
16. Experience Based Techniques in Agile
Combining Experience based and Black box Techniques
The various characteristics of Agile projects such as the approach, length of iteration, applicable test level(s), risk
level of project and product, quality of requirements, level of experience/expertise of the team members, project
organization, etc. will influence the balance of automated tests, exploratory tests, and manual black-box tests in
an Agile project.
During risk analysis, the risk levels (e.g. high, medium, low) are determined for the individual system features and
functionality. The next step is to find the right mix and balance of automated tests, exploratory tests, and manual
black-box tests for a specific risk level.
Neeraj Kumar Singh
17. Experience Based Techniques in Agile
Combining Experience based and Black box Techniques
Below is a table describing this idea. In this table, the risk levels are listed vertically and the three test approaches
horizontally.
The table below is an example of a mix of different testing techniques (exploratory, automated, and manual) that
can be used in a safety critical system. This table can be adapted to other specific projects.
++ (highly recommended) + (recommended) o (neutral) - (not recommended) -- (not to be used)
When looking at the first row, it suggests that in this situation, a combination of automated test and black-box test
would be highly recommended in addition to an exploratory testing approach. The decision to automate (or not)
will also be influenced by many other factors.
Neeraj Kumar Singh
Safety Critical
System
18. Experience Based Techniques in Agile
Combining Experience based and Black box Techniques
The following is an example of a combination of different testing techniques when used in a non-safety critical
system.
++ (highly recommended) + (recommended) o (neutral) - (not recommended) -- (not to be used)
When looking at the last row, it suggests that in this situation, an exploratory testing approach is highly
recommended, while other approaches might not be used. In any situation (safety critical or not) the specific
mixture will depend on the project characteristics
Neeraj Kumar Singh
Non-Safety
Critical System
20. Testing in Agile
Contents
2.1 Agile development and test techniques
2.2 Experience-based testing in Agile
2.3 Aspects of code quality
Neeraj Kumar Singh
21. Experience Based Techniques in Agile
Contents
2.2.1 Combining experience-based techniques
and black-box tests
2.2.2 Creating test charters and
interpreting their results
Neeraj Kumar Singh
22. Experience Based Techniques in Agile
Creating Test Charters and Interpreting Their Results
Before an appropriate test charter can be created, the existing epics and user stories should be evaluated first.
When analyzing epics or user stories to create a test charter the following things should be considered:
Who are the users in this epic or user story?
What is the main functionality of the epic or user story?
What are the actions a user can perform? (This can be obtained from the acceptance criteria list, which is
defined for a user story)
Is the goal of the user story realized once the feature or functionality is complete? (Or are there other testing
tasks affecting the Definition of Done)
The granularity of a test charter is important. It should not be too small, as it must explore an area around an
identified problem (re-active, regression) or an area around a user story or an epic (proactive, revealing).
It shouldn’t be too big, as it should fit within a 60 to 120 minutes time box. The goal of running an exploratory
testing session is to help us make a good quality decision, regarding a phenomenon, bug clustered area, etc..
Neeraj Kumar Singh
23. Experience Based Techniques in Agile
Creating Test Charters and Interpreting Their Results
Test charters can be created using flipcharts, spreadsheets, documents, existing test management system,
personas, mind mapping and a whole team approach. Exploratory testers use heuristics to drive their
creativity in writing and performing exploratory testing sessions. These can also be used for creating test
charters and in thinking creatively when analyzing user stories and epics.
All the findings found during exploratory testing should be documented. The results of exploratory testing
should provide insights into better test design, ideas for testing the product, and ideas for any further
improvement. Findings that should be documented during exploratory testing include defects, ideas,
questions, improvement suggestions, etc.
Tools can be used for documenting the exploratory testing sessions. These include video capture and logging
tools, planning tools, etc. The documentation should include the expected result. In some cases, pen and
paper is sufficient, depending on the volume of information to collect.
When summarizing the exploratory testing session, during the debriefing meeting the information is collected
and aggregated to present a status of progress, coverage, and efficiency of the session. This summary
information can be used as management report, or used in retrospective meetings on any level and any scale.
However, it can be quite challenging to determine accurate test metrics related to exploratory testing
sessions.
Neeraj Kumar Singh
25. Testing in Agile
Contents
2.1 Agile development and test techniques
2.2 Experience-based testing in Agile
2.3 Aspects of code quality
Neeraj Kumar Singh
26. Aspects of Code Quality
Contents
2.3.1 Refactoring
2.3.2 Code reviews and static code analysis
to identify defects and technical debt
Neeraj Kumar Singh
27. Aspects of Code Quality
Refactoring
Refactoring is a way to clean up code in an efficient and controlled manner, by clarifying and simplifying the design
of existing code and test cases, without changing its behavior.
In Agile projects, the iterations are short, which creates a short feedback loop for all team members. Short
iterations also create a challenge for testers trying to achieve adequate coverage.
Due to the nature of the iterations, the fact that functionality is growing, and features are added and enhanced
over time, test cases that have been written for a feature in an earlier iteration, often need maintenance or even
complete redesign in later iterations.
After user stories are understood and acceptance criteria are written for each of them, the impact of the
functionality of the current iteration on the existing regression tests (manual and automated) can be analyzed, and
refactoring and/or enhancing of the tests may be required.
Teams are maintaining and extending their code extensively from iteration to iteration, and without continuous
refactoring, this is hard to do.
Neeraj Kumar Singh
28. Aspects of Code Quality
Refactoring
The refactoring of the test cases can be done as follows:
Identification: Identifying existing tests that require refactoring by reviewing or causal analysis.
Analysis: Analyzing the impact of the changed tests on the overall regression test set.
Refactor: Making changes to the internal structure of the tests to make it easier to understand and cheaper to
modify without changing its observable behavior.
Re-run: Re-running the tests, checking their results and documenting defects where relevant. The refactoring
should not have influenced the result of test execution.
Evaluate: Checking the results of the re-run tests, ending this phase when the tests have passed a quality
threshold defined and accepted by the team.
Neeraj Kumar Singh
30. Testing in Agile
Contents
2.1 Agile development and test techniques
2.2 Experience-based testing in Agile
2.3 Aspects of code quality
Neeraj Kumar Singh
31. Aspects of Code Quality
Contents
2.3.1 Refactoring
2.3.2 Code reviews and static code analysis
to identify defects and technical debt
Neeraj Kumar Singh
32. Aspects of Code Quality
Code Review and Static Code Analysis
A code review is a systematic examination of code by two or more people (one of whom is usually the author).
Static code analysis is the systematic examination of code by a tool. Both are effective and widespread practices
for exposing and identifying issues that affect code quality. Code reviews and static code analysis provide
constructive feedback that helps identify defects and manage technical debt.
Impediments such as resource constraints, higher technical complexity than expected, rapidly changing priorities,
and technical limitations may hinder efforts to write quality code and force programmers to make compromises
that will decrease the quality of the code in favour of more immediate results. These compromises can introduce
defects and incur technical debt.
Technical debt refers to the increased effort that will be required to implement a better solution (including
removing latent defects) in the future as a consequence of choosing an inferior but easierto-implement solution
now. Technical debt is often incurred unintentionally, by subtle compromises or a gradual accumulation of small or
unnoticed changes as the software evolves.
Besides helping identify defects and manage technical debt, code analysis and reviews offer additional benefits:
Training and sharing knowledge
Improving the robustness, maintainability, and readability of the code
Providing oversight and maintaining consistent coding standards
Neeraj Kumar Singh
33. Aspects of Code Quality
Code Review and Static Code Analysis
Code Review
By participating in code reviews, testers can use their unique perspective to make valuable contributions to code
quality by collaboratively working with programmers to identify potential defects and avoid technical debt at a
very early stage.
They can bring their expertise to bear in many ways, such as by asking questions about the behavior of the code,
suggesting use cases that may not have been considered, or monitoring code metrics that could indicate quality
issues.
Code reviews are manual activities, possibly supported by tools, that are performed by or with other people (in
addition to the author).
Code reviews may be performed with the reviewer and the author/developer sitting side-by-side. This mode,
which is common in ad-hoc reviews and pair programming, facilitates excellent communication and encourages
deeper analyses and better knowledge sharing.
On distributed teams or teams that prefer a more disconnected approach, the code review process is facilitated by
the configuration management system. The process is usually partially automated as part of the continuous
integration process. These processes may support code reviews with a single reviewer in each round of review, or
collaborative team reviews.
Neeraj Kumar Singh
34. Aspects of Code Quality
Code Review and Static Code Analysis
Static Code Analysis
In static code analysis, a tool analyzes the code and searches for specific issues without executing the code. The
results of static code analysis may point at clear issues in the code or provide indirect indicators that require
further assessment.
Many development tools, especially integrated development environments (IDEs), can perform static code analysis
while writing the code. This provides the benefit of immediate feedback, though it may only be possible to apply
just a subset of the analysis performed during continuous integration.
Neeraj Kumar Singh
37. Testing in Agile
Sample Questions
1. Summarize the characteristics of performing exploratory tests with test charters.
Select ONE options.
Answer Set
a. In contradiction to black-box testing, the expected result is documented after a defect is found and not as part
of the test design.
b. Test charters are a useful tool to be used for testing, when a detailed specification to the system under test is
given.
c. The result of performing exploratory testing by using test charters is finding defects and specification error.
d. Exploratory testing and black-box testing use the same metrics, when it comes to measure the test coverage.
Neeraj Kumar Singh
38. Testing in Agile
Sample Questions
2. You do have to analyze the following Bubble Sort function written in Java:
Analyzation should be done according to the following checklist:
1. All Variables should start with a Capital letter, except they are used only
as counting variable
2. If the name of the variable consists of more than one word, all words
have to start with Capital letters (e.g. FirstName)
3. All constants should be written in CAPITAL letters, except they are only
used as start or end point (e.g. in loops)
Which one of the above mentioned checkpoint items is not fulfilled? .
Select ONE options.
Answer Set
a. 2
b. 1
c. 3
d. None
Neeraj Kumar Singh
39. Testing in Agile
Sample Questions
3. You, as a tester in a BDD environment, know that the following user story has to be implemented and tested:
As a Scrum Master
I want to see Lead/Cycle time progress
So that I know whether we are improving our development process or not.
Which one of the following BDD scenarios in Gherkin format is at least partially, but best fitting to this user
story?
Select ONE options.
Answer Set
a. Given Reports section in Project area and Bug Tracking practice is DISABLED When I navigate to Lead and Cycle
Time Report Then I see Lead Time chart And chart contains 1 line for stories.
b. Given Reports section in Project area and Bug Tracking practice is ENABLED If I navigate to Lead and Cycle Time
Report Then I see Cycle Time And chart contains 2 lines (for stories and bugs) Else Error message is popping up.
c. Given Reports section in Project area and Bug Tracking practice is DISABLED When I navigate to Lead and Cycle
Time Report Then I see the chart And chart contains information for all stories.
d. When Reports section in Project area and Bug Tracking practice is ENABLED Then I navigate to Report section And
I see Cycle Time with chart containing 2 lines (for stories and bugs).
Neeraj Kumar Singh