Abstract: This workshop teaches the application of statistics to the software quality assurance process. The course covers smoke testing, acceptance testing, Pareto principle, defect distributions, automated vs. manual testing, predicting effort, and experimental thoughts using Bellman equation approach and machine learning.
Level: Intermediate
Requirements: Some basic statistics knowledge is preferred and experience or exposure to the software quality assurance process.
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015Kim Herzig
Applying code changes to software systems and testing these code changes can be a complex task that involves many different types of software testing strategies, e.g. system and integration tests. However, not all test failures reported during code integration are hinting towards code defects. Testing large systems such as the Microsoft Windows operating system requires complex test infrastructures, which may lead to test failures caused by faulty tests and test infrastructure issues. Such false test alarms are particular annoying as they raise engineer attention and require manual inspection without providing any benefit. The goal of this work is to use empirical data to minimize the number of false test alarms reported during system and integration testing. To achieve this goal, we use association rule learning to identify patterns among failing test steps that are typically for false test alarms and can be used to automatically classify them. A successful classification of false test alarms is particularly valuable for the product teams as manual test failure inspection is an expensive and time-consuming process that not only costs engineering time and money but also slows down product development. We evaluating our approach on system and integration tests executed during Windows 8.1 and Microsoft Dynamics AX development. Performing more than 10,000 classifications for each product, our model shows a mean precision between 0.85 and 0.90 predicting between 34% and 48% of all false test alarms.
RapidMiner Linear Regression Tutorial ProcessesPPT.pdfssuser2cfd2b
This document provides steps for applying a linear regression model to a polynomial dataset using RapidMiner. It loads the polynomial data, selects the first 100 examples using a filter operator, applies a linear regression model, then uses that model to make predictions on the last 100 examples. A performance operator is used to calculate the absolute error and prediction average of the labeled vs predicted values.
The document provides instructions for creating runs, defining protocols and graphs, viewing results, and performing background subtraction and quantification on the Smart Cycler system. It also discusses user administration, analysis settings, export options, melt analysis, and troubleshooting.
La scrittura di test automatici nello sviluppo software è ormai di fondamentale importanza, in quanto permette di:
1. Individuare e correggere molto prima, già in fase di sviluppo, i bug.
2. Sviluppare e testare più velocemente il codice, riducendo di molto le volte in cui bisogna ricorrere al debugger.
3. Essere molto più confidenti che una modifica fatta ad un "vecchio" pezzo di codice non "rompa" tutto il resto e non funzioni più niente (ovviamente scoprendolo quando ormai si è rilasciato in produzione!).
Questi sono "solo" 3 di una quindicina di benefici che sono riuscito ad elencare, ottenibili utilizzando una pratica durante lo sviluppo del codice: la scrittura di test automatici.
Con questo workshop vogliamo introdurre gli sviluppatori ai test automatici, una pratica purtroppo non ancora conosciuta e utilizzata quanto meriterebbe, che può cambiare radicalmente il modo con cui scriviamo il codice, portandolo verso un approccio più "ingegneristico".
Faremo una panoramica sulle varie tipologie di test e sui benefici che possono portare, approfondendo in particolare i test unitari (unit test) e d'integrazione (integration test).
I test automatici sono un argomento trasversale ai linguaggi di programmazione, perciò potrete seguire il workshop a prescindere da quale linguaggio utilizziate.
Test Automation Improvement by Machine Learning Jasst'21 TokyoSadaaki Emura
We have challenging issue in test automation operation.
Test automation fail by bug and not bug reason.
I think one of the main reason is temporary accident.
When test automation fail by this temporary accident, test will be success by running test again usually.
This re-run operation is boaring task and big task for test automation operation
To eliminate this kind issue and improve operation, we built system categorize issue by machine learning, re-run test only when fail reason is temporary accident.
In this session , I show you these below
- What's test automation issue in daily operation
- How to resolve this issue. store big data, learning, system architecture etc.
- Actual result for improvement
ReportPortal.io - Open Source experience. Showcase, benefits COMAQA.BY
The document discusses Report Portal, an open source test automation monitoring tool. It is presented by Dzmitry Humianiuk, Project Manager at EPAM Systems, who has been with the company for 10 years. Report Portal provides live visibility into test automation, reduces time spent analyzing results, and supports popular automation tools out of the box with nice graphical reporting. It has been successfully implemented on over 110 projects and in 8 external customer installations.
The document discusses test execution which involves running tests on software to evaluate quality. Key activities include setting up test environments and platforms, identifying test cycles, executing unit, integration and system tests, and marking test results as pass/fail while logging any failures as defects. The process is repeated by retesting fixes until all tests pass or exit criteria are met like deadlines, test coverage goals, or bug rates being low enough. Proper test execution helps ensure quality by finding problems and facilitating ongoing assessment of the product.
Problem Statement:One of the common concerns from the customers is that how to effectively optimize the testing given the
multiple integration points in a distributed/composite system environments, which does expose at least the below
pain points:
1. Avoid Exhausted testing
2. Meet all the boundary conditions
3. Limited time to execute 100% test execution
4. Include all the critical business functions
5. Efficient Regression Testing
and the list goes on...
Resolution: The solution is detailed in the attachment and have effectively implemented in various client places.
Testing a software for its efficiency requires a concentrated effort in terms of a quantified test data metrics. This PPT will shed light on Types & need of Metrics, OS/ Browser compatibility Matrix, Test Efficiency, Test Effectiveness and DRE(Defect Resolution Effectiveness) to enhance your understanding on the need and relevance of a test data metrics.
هذه المحاضرة تتحدث عن تحليل باريتو
Pareto Analysis
وهو أسلوب يساعد متخذ القرار او المدير في ترتيب أولويات عمله والأشياء التي يفترض ان يركز عليها في عمله.
قدمت نبذة تاريخية بسيطة عن مكتشف هذا المفهوم ومن ثم قمت فيها بشرح مفهوم باريتو
Pareto Concept
والذي يعتمد على أن قاعدة 20/80 والتي تقول أن 20% من الجهد الذي نبذله يؤدي إلى 80% من النتائج ولكن علينا ان نعرف ما هي ال 20% باستخدام تحليل باريتو
Pareto Analysis.
تناولت بعدها الخطوات المطلوبة لتحليل باريتو
Pareto Analysis
وكيفية تطوير مخطط باريتو
Pareto Chart
انتقلت بعدا شرح استخدام تحليل باريتو عمليا في عمليات إدارة المشاريع وهي 6 عمليات يمكن فيها الاستفادة من تحليل باريتو فيها وعمليات تحليل الأعمال ( 10 عمليات ) موزعة على دليل تحليل الأعمال من ال
PMI
( عمليتان) ودليل تحليل الأعمال من ال
IIBA
( 8 عمليات ) وتم توضيح كيفية تطبيق ذلك في التشغيل والأعمال المختلفة.
تم شرح الموضوع من جانب عملي مدعما بأمثلة بحيث يسهل تطبيق هذه المفهوم في مؤسساتنا والاستفادة منه.
Describes the detail of software quality, tradeoffs, quality with testing, quality with inspection, need of standards, standards organizations & different type of software standards.
This document discusses software quality standards. It provides an overview of why standards are developed, including to improve repeatability, consensus, cross-specialization, customer protection, and professional discipline. It also discusses potential benefits and limitations of standards, as well as examples of standards organizations and types of standards, such as for quality assurance, dependability, safety, and resources. Standards aim to improve quality, but enforcing them must be done carefully to avoid reducing productivity.
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
We often claim the purpose of testing is to verify that software meets a desired level of quality. Frequently, the term “testing” is associated with checking for functional correctness. However, in large, complex software systems with an established user-base, it is also important to verify system constraints such as backward compatibility, reliability, security, accessibility, usability. Kim Herzig from Microsoft explores these issues with the latest webinar on test Huddle.
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersLionel Briand
The document describes algorithms for generating effective test suites for mixed discrete-continuous controllers modeled in Stateflow. It introduces the challenges of testing cyber-physical systems with both discrete and continuous behaviors. It then presents six test generation algorithms, including ones based on input diversity, state/transition coverage, and output diversity/stability/continuity. An evaluation of these algorithms on three industrial case studies examines their fault detection abilities, how they compare to each other, and how test suite size impacts results. The best performing algorithms focused on maximizing differences between output signals.
The document provides an overview of software testing fundamentals including:
1. It discusses key testing concepts like error, fault, failure and how testing helps build confidence and reduce costs. Testing aims to find faults and prove software meets requirements.
2. Testing challenges are discussed like the impossibility of exhaustive testing due to huge number of combinations. Prioritization is important given limited time.
3. Principles of testing are covered such as defects clustering, absence of errors fallacy, and how early testing avoids fault multiplication. Testing must be context dependent.
The right way to manage your Test Automation projectLior Katz
The document discusses a Testing Tools Management (TTM) methodology for managing testing automation projects. It outlines common issues like failing to implement tools properly or meet expectations. The TTM methodology involves:
1. Analyzing systems and recruiting developers and managers before purchasing tools.
2. Calculating ROI by considering factors like product age and releases.
3. Ensuring readiness through stable environments, business process understanding, and tool/environment preparation.
4. Following stages of development like sanity testing, quick ROI packages, modular regression, and data inflation.
The methodology also includes defining scope, following up, documenting processes, and producing summary reports. The goal is to properly implement tools and realize expected ROI,
The document discusses various concepts related to software testing including verification vs validation, inspection vs testing, black box vs white box testing, and testing techniques like equivalence partitioning, boundary value analysis, and cause-effect graphing. It defines verification as ensuring software meets specifications while validation ensures it meets customer needs. Inspection examines static documents while testing evaluates dynamic behavior. Black box testing uses requirements while white box considers internal structure.
This document discusses four types of learning agents in artificial intelligence: simple reflex agents, model-based agents, goal-based agents, and utility-based agents. A learning agent improves upon these by dynamically learning a policy to model its environment and build action-state rules based on rewards from interacting with its environment.
Abstract: This workshop teaches basic algorithms in whiteboarding interviews. All the code examples are in Python and the course has dual purpose teaching basic Python programming.
Abstract: This PDSG workshop covers the basics of OOP programming in Python. Concepts covered are class, object, scope, method overloading and inheritance.
Level: Fundamental
Requirements: One should have some knowledge of programming.
Abstract: This PDSG workshop covers the basics of OOP programming in Python. Concepts covered are class, object, scope, method overloading and inheritance.
Level: Fundamental
Requirements: One should have some knowledge of programming.
Python - Installing and Using Python and Jupyter NotepadAndrew Ferlitsch
Abstract: This PDSG workshop covers installing Python and Juypter Notebook, and how to create a notebook.
Level: Fundamental
Requirements: One should have some knowledge of programming.
Natural Language Processing - Groupings (Associations) GenerationAndrew Ferlitsch
Abstract: This PDSG workshop covers methods to automatically generate word groupings as associations, which can be used to teach associations between objects to pre-school and early school children. Ex. What item does not belong? Cat, Dog, Fire Truck, Bird
In this presentation, I will cover how to build categorical and association dictionaries to automatically generate associations of the form, what item does not belong.
Level: Intermediate
Requirements: One should have some programming knowledge.
Natural Language Provessing - Handling Narrarive Fields in Datasets for Class...Andrew Ferlitsch
Abstract: It is common for government and public datasets to include narrative fields, such as inspection reports, incident reporting, surveys, 911 calls, fire response, etc. In addition to categorical fields, such as datetime, location, demographics, these datasets tend to include a narrative description (e.g., what happened). It is typically in the narrative field that the most interesting data resides for the purpose of classifying. The problem, is that since the narrative is human interpreted and entered, each entry may be unique and if we use the whole entry as a single value, one will end up with an overfitted model that works only on the training data.
In this presentation, I will cover how natural language processing techniques are used to convert narrative fields into categorical data.
Level: Intermediate
Requirements: One should know basics of linear regression models. No prior programming knowledge is required.
Machine Learning - Introduction to Recurrent Neural NetworksAndrew Ferlitsch
Abstract: This PDSG workshop introduces basic concepts of recurrent neural networks. Concepts covered are feed forward vs. recurrent, time progression, memory cells, short term memory predictions and long term memory predictions.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Machine Learning - Introduction to Convolutional Neural NetworksAndrew Ferlitsch
Abstract: This PDSG workshop introduces basic concepts of convolutional neural networks. Concepts covered are image pixels, image preprocessing, feature detectors, feature maps, convolution, ReLU, pooling and flattening.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required. Some knowledge of neural networks is recommended.
Machine Learning - Introduction to Neural NetworksAndrew Ferlitsch
Abstract: This PDSG workshop introduces basic concepts of neural networks. Concepts covered are Neurons, Binary vs. Categorical vs. Real Value output, activation functions, fully connected networks, deep neural networks, specialized learners, cost function and feed forward.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Abstract: This PDSG workshop introduces the basics of Python libraries used in machine learning. Libraries covered are Numpy, Pandas and MathlibPlot.
Level: Fundamental
Requirements: One should have some knowledge of programming and some statistics.
Machine Learning - Accuracy and Confusion MatrixAndrew Ferlitsch
Abstract: This PDSG workshop introduces basic concepts on measuring accuracy of your trained model. Concepts covered are loss functions and confusion matrices.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Abstract: This PDSG workshop introduces basic concepts of ensemble methods in machine learning. Concepts covered are Condercet Jury Theorem, Weak Learners, Decision Stumps, Bagging and Majority Voting.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Abstract: This PDSG workshop introduces basic concepts of multiple linear regression in machine learning. Concepts covered are Feature Elimination and Backward Elimination, with examples in Python.
Level: Fundamental
Requirements: Should have some experience with Python programming.
Abstract: This PDSG workshop introduces basic concepts of simple linear regression in machine learning. Concepts covered are Slope of a Line, Loss Function, and Solving Simple Linear Regression Equation, with examples.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Abstract: This PDSG workshop introduces basic concepts of categorical variables in training data. Concepts covered are dummy variable conversion, and dummy variable trap.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Abstract: This PDSG workshop introduces basic concepts of splitting a dataset for training a model in machine learning. Concepts covered are training, test and validation data, serial and random splitting, data imbalance and k-fold cross validation.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Dataset Preparation
Abstract: This PDSG workshop introduces basic concepts on preparing a dataset for training a model. Concepts covered are data wrangling, replacing missing values, categorical variable conversion, and feature scaling.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Abstract: This PDSG workshop introduces basic concepts on TensorFlow. The course covers fundamentals. Concepts covered are Vectors/Matrices/Vectors, Design&Run, Constants, Operations, Placeholders, Bindings, Operators, Loss Function and Training.
Level: Fundamental
Requirements: Some basic programming knowledge is preferred. No prior statistics background is required.
Abstract: This PDSG workshop introduces basic concepts on machine learning. The course covers fundamentals of Supervised and Unsupervised Learning, Decision Trees, Pruning, Ensemble Trees, Linear Regressions, Loss Functions, K-means, and dataset preparation.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
Global Collaboration for Space Exploration.pdfSachin Chitre
Distinguished readers, leaders, esteemed colleagues, and fellow dreamers,
We stand at the precipice of a new era, an epoch where the boundaries of human potential are poised to be redefined. For centuries, humanity has gazed up at the celestial expanse, yearning to explore the cosmic mysteries that beckon us.
Today, I present a vision, a blueprint for a journey that transcends the limitations of conventional science and technology.
Imagine a world where the shackles of gravity are broken, where interstellar travel is no longer confined to the realms of science fiction. A world united not by petty differences, but by a shared purpose – to explore, to discover, and to elevate humanity.
This presentation outlines a comprehensive research project to construct and deploy Vimanas – ancient, aerial vehicles of wisdom and power. By harnessing the knowledge of our ancestors and the advancements of modern science, we can embark on a quest to not only conquer the skies but to conquer the cosmos.
Let us together ignite the spark of human ingenuity and propel our civilization towards a future where the stars are within our reach and where the bonds of humanity are strengthened through shared exploration.
The time for action is now. Let us embark on this extraordinary journey together."
Jacquard Fabric Explained: Origins, Characteristics, and Usesldtexsolbl
In this presentation, we’ll dive into the fascinating world of Jacquard fabric. We start by exploring what makes Jacquard fabric so special. It’s known for its beautiful, complex patterns that are woven into the fabric thanks to a clever machine called the Jacquard loom, invented by Joseph Marie Jacquard back in 1804. This loom uses either punched cards or modern digital controls to handle each thread separately, allowing for intricate designs that were once impossible to create by hand.
Next, we’ll look at the unique characteristics of Jacquard fabric and the different types you might encounter. From the luxurious brocade, often used in fancy clothing and home décor, to the elegant damask with its reversible patterns, and the artistic tapestry, each type of Jacquard fabric has its own special qualities. We’ll show you how these fabrics are used in everyday items like curtains, cushions, and even artworks, making them both functional and stylish.
Moving on, we’ll discuss how technology has changed Jacquard fabric production. Here, LD Texsol takes center stage. As a leading manufacturer and exporter of electronic Jacquard looms, LD Texsol is helping to modernize the weaving process. Their advanced technology makes it easier to create even more precise and complex patterns, and also helps make the production process more efficient and environmentally friendly.
Finally, we’ll wrap up by summarizing the key points and highlighting the exciting future of Jacquard fabric. Thanks to innovations from companies like LD Texsol, Jacquard fabric continues to evolve and impress, blending traditional techniques with cutting-edge technology. We hope this presentation gives you a clear picture of how Jacquard fabric has developed and where it’s headed in the future.
Securiport Gambia is a civil aviation and intelligent immigration solutions provider founded in 2001. The company was created to address security needs unique to today’s age of advanced technology and security threats. Securiport Gambia partners with governments, coming alongside their border security to create and implement the right solutions.
Multimodal Embeddings (continued) - South Bay Meetup SlidesZilliz
Frank Liu will walk through the history of embeddings and how we got to the cool embedding models used today. He'll end with a demo on how multimodal RAG is used.
The Challenge of Interpretability in Generative AI Models.pdfSara Kroft
Navigating the intricacies of generative AI models reveals a pressing challenge: interpretability. Our blog delves into the complexities of understanding how these advanced models make decisions, shedding light on the mechanisms behind their outputs. Explore the latest research, practical implications, and ethical considerations, as we unravel the opaque processes that drive generative AI. Join us in this insightful journey to demystify the black box of artificial intelligence.
Dive into the complexities of generative AI with our blog on interpretability. Find out why making AI models understandable is key to trust and ethical use and discover current efforts to tackle this big challenge.
Project management Course in Australia.pptxdeathreaper9
Project Management Course
Over the past few decades, organisations have discovered something incredible: the principles that lead to great success on large projects can be applied to projects of any size to achieve extraordinary success. As a result, many employees are expected to be familiar with project management techniques and how they apply them to projects.
https://projectmanagementcoursesonline.au/
Airports, banks, stock exchanges, and countless other critical operations got thrown into chaos!
In an unprecedented event, a recent CrowdStrike update had caused a global IT meltdown, leading to widespread Blue Screen of Death (BSOD) errors, and crippling 8.5 million Microsoft Windows systems.
What triggered this massive disruption? How did Microsoft step in to provide a lifeline? And what are the next steps for recovery?
Swipe to uncover the full story, including expert insights and recovery steps for those affected.
SCREENING OF RECOMBINANTS - BLUE AND WHITE SCREENING (MCQS)sabaridaran1310
Introduction about genetic engineering
Steps in rDNA Technology
Screening of recombinants
Selection of recombinants
Blue and white screening
Alpha complementation
Beta galatosidase
X gal
Antibiotic resistance screening
Replica plate technique
Colony hybridization
Screening by Immunological assay
Immunological screening
Protein activity
Enzyme activity
MCQS RELATED TO SCREENING OF RECOMBINANTS
IT market in Israel, economic background, forecasts of 160 categories and the infrastructure and software products in those categories, professional services also. 710 vendors are ranked in 160 categories.
1. Pareto Principle
Applying Statistics to Software QA
Portland Data Science Group
Created by Andrew Ferlitsch
Community Outreach Officer
August, 2017
2. History
• Named after Italian economist Vilfredo Pareto from 1896
paper, Cours d'économie politique
• Noted in his paper:
• That 80% of wealth in Italy was owned by 20% of individuals.
• In his garden, he noted that 20% of the peapods generated 80%
of the peas.
• The concept of the 80/20 principle was advanced by
consultant Joseph Juran in 1941 for quality management:
• Concluded that typically 20% of problems are caused by 20%
of the causes.
3. Generalization
• The Pareto Principle is the observation that most things
are not evenly distributed. For example:
• 20% of the inputs creates 80% of the results.
• 20% of the workers produce 80% of the results.
• 20% of customers produce 80% of the revenue.
• 20% of features cause 80% of the usage.
• 20% of bugs cause 80% of the failures.
• The principle does not require an 80/20 distribution,
just a rule of thumb:
• Maybe 90/10
• May not add up to 100, such as 90/20.
4. Inputs vs. Outputs
The relationship of Inputs to the Flow of Outputs
Software
Component
Inputs Outputs
20% if the Inputs 80% if the Inputs
• Use Cases
• Features
• Individual Values to Single Test
Increasing
Complexity
• End to End (e2e)
• Feature Testing
• Single Testcase
5. Calculator Example - Typical
Tendency is to test from simplest to more complex.
Calculator
Typical selection
of inputs in QA.
0 x 0
1 x 0
1 x 1
1 x -1
2 x 1
2 x 2
3 x -2
3 x 4
6 x 11
10 x 123
0
0
1
-1
2
4
-6
12
66
1230
It’s not whether
These cases will
Have bugs, its that
No one will EVER
TYPE them in.
They produce ZERO
percent of the
output.
PASSED
Gain in Output (e.g.,
more digits.
6. Calculator Example - Pareto
Pick cases which produce in 20% Highest Output Gain / Complexity
Calculator
∞ x ∞
MaxInt x MaxInt
MaxPrecsion x MaxPrecision
Integer Overflow
Floating Point Errors
ACTUALLY PASSED
Gain in Output (e.g.,
more digits, more
computational
complexity.
MaxInt x 2
MaxInt x -1
MaxPrecsion x ∏
(MaxInt/2) x 2
(rand(1000)) x -5
∏ x ∏
(rand(1.0)) x ∏
Input Complexity
7. Smoke Test - Typical
Verify a Build is sufficiently stable to consume QA resources to test.
Build
Repositor
y
Smoke
Test
Acceptance
Test
2% (or less) of the software
Typically, always the same tests.
After many iterations:
• Not Checking anything new
• Statistical Likelihood of detecting failure decreasing as
• Code around smoke test becomes more harden
• Interface and Configuration around code stops changing.
• Code is better and better known by developers and build specialists.
8. Smoke Test - Sampling Distribution
Build (i.e. Population)
Error Rate of Random Sample
Sampling Distribution (smoke test)
µ = µ (mean - Errors)
σ =
σ
𝑛
(std. dev)
A collection of randomly chosen test cases
In a build is called a sampling distribution.
x̅
2% of the build
x̅
x̅
Not Known
On first smoke test, we start with assumption that
there is some unknown distribution of errors across
the build.
First Round of Smoke Test(ing)
9. Smoke Test - Sampling Distribution
Error Rate of Random Samplex̅
Unsorted List of Tests
in first Smoke TestTest 1
Test 2
Test 3
…
Test n
Examine Outputs and Sort for
20% inputs -> 80% outputs
Test 1A
Test 1B
Test 1C
…
Test 3A
Test 3B
…
Test 10Z
20% -> 80%
Remaining 80%
Sorted List of Tests
In first Smoke Test
Identify 20% of Tests that are 80% of the Outputs
Test 1A
Test 1B
Test 1C
…
New 1
New 2
…
New 3
First Smoke Test
20%
Kept
Second (Updated) Smoke Test
80%
New
10. Smoke Test - Sampling Distribution
Build (i.e. Population)
Error Rate of Random Sample
Sampling Distribution (smoke Test)
x̅
2% of the build
Second smoke test contains 20% of the
First smoke test.
Next Round of Smoke Test(ing)
Test 1A
Test 1B
Test 1C
…
New 1
New 2
…
New 3
20%
Kept
80%
New
11. Smoke Test - Sampling Distribution
Error Rate of Random Samplex̅-
>
Examine Outputs and Sort for
20% inputs -> 80% outputs
Original
20%
…
20% of
80%
…
Remainder
20% -> 80%
Remaining 80%
Sorted List of Tests
In first Smoke Test
Identify 20% of New Tests that are 80% of the Outputs
Test 1A
Test 1B
Test 1C
…
New 1
New 2
…
New 3
Second Smoke Test
20% -> 80%
Third (Updated) Smoke Test
64%
New
Second (Updated) Smoke Test
16% -> 80%
Test 1A
Test 1B
Test 1C
…
New 1
New 2
…
New 3
36%
12. Smoke Test - Sampling Distribution
Iterate Keeping 20% -> 80% of Remainder and Replacing the Rest.
Third Smoke Test
Remainder
36%
-------
64%
20%->80%
Fourth Smoke Test
58.8%
-------
42.2%
20%->80%
Fifth Smoke Test
67.2%
-------
32.8
20%->80%
Sixth Smoke Test
73.8%
-------
26.2%
20%->80%
Seventh Smoke Test
79%
-------
21%
Eighth Smoke Test
84.8%
-------
16.8%
20%->80% 20%->80%
Convergence
to 100%
13. Smoke Test - Sampling Distribution
Build (i.e. Population)
= predict the error rate of 80%
of the output / results.
Sampling Distribution (convergent smoke Test)
x̅
Next Round of Smoke Test(ing)
9th iteration: 88.2% / 11.8%
10th iteration: 90.6% / 9.4%
11th iteration: 92.5% / 7.5%
12th iteration: 94% / 6 %
13th iteration: 95.2% / 4.8%
14th iteration: 96.2% / 3.8%
15th iteration: 97% / 3%
Amount being replaced
14. Smoke Test - Epochs
• Epoch = 15 iterations (e.g., 15 weeks)
• Gradual (fresh) increase in high output tests
• Gradual reduction in effort for new tests
• Next Epoch
• Keep 20% of top outputters .
• Replace remaining 80% with new tests.
• Repeat cycle again.
Epoch 1
97%
----------
Completed Epoch
Epoch II
20%
-------
Next Epoch
20%->80%
80% -> Replace
15. Acceptance Test – Requirements Based
Verify that all the Requirements of a Build are Meet.
Requirements
Specification
Feature 1
Feature 1
Feature 1
Feature 1
Feature 1
Feature N
Breakdown each requirement
Into one or more features.
Testcase 1
Testcase 1
Testcase 1
Testcase 1
Testcase N
Breakdown each feature
Into one or more test cases.
Typically generates between 2000 and 5000 Testcases
16. Partial vs. Full Acceptance Test
• Partial Acceptance Test
• QA Manager/Lead selects only Features which have been
modified or added.
• Used to manage time constraints versus testing everything
each time.
• Typically 200 to 500 test cases.
• Full Acceptance Test
• Typically done at major milestones, and
• Attempt at Final Acceptance for Product Release/Evaluation.
• Typically 2000 to 5000 test cases.
17. Agile Build Release
• Incremental Sprints
• Feature development is preplanned before product
development is started.
• One or more new features are added per sprint.
• Selected set of bugs for existing features are fixed.
• Iterative Sprints
• Feature development is not preplanned, but evolves per
sprint.
• Planning injects and/or modifies features are the start of
each sprint.
• One of more new features are added per sprint.
• One or more existing features is modified.
• Selected set of bugs for existing features are fixed.
18. QA Automated
• Automation
• QA Automation was buzz word of the 1990s.
• Belief that all testing could be automated, ran quickly and
full acceptance test runs done on even minor build releases.
• Automated Testing Paradox
• Automated Tests are sensitive to code changes.
• Changes to interface.
• Changes to parameters.
• UI changes (even minor change can break automated
tests).
• Updated Requirements change behavior of code.
• Automated tests only stable if no changes to code. If no
changes, why run the tests?
19. Broken Automation Examples
• API
valid inputs could change
http://localhost:.../api?param1=var¶m2=var
name of parameters could change or be dropped
• UI
location or type of HTML tag could change
<div id=‘at11’> … </div>
id could change
• Change in Function
Return type or return values could change
int funcName( int a, int b)
type or number of arguments could change
20. Automation vs. Manual Testing
• When change occurs, test cases stop running or
passing.
• QA person needs to identify if bug in code or test case needs
to be updated.
• If test case, QA person needs to rewrite the code for the test
case.
• Some organizations opt to limit or abandon
automated testing due to maintenance overhead.
• Automated Tests only for long stable code.
• Manual Tests for new and changing code.
21. Manual Testing
• Typical number of Manual Tests ran per person per day
is 30.
• Read and Follow test instructions, verify outcome.
• If error, need to enter defect report.
• Each day, need to review/answer questions/more info from
development team on previous entered defects.
• Need to verify defects that have been fixed.
• Start of day scrum, end of day accounting of activities.
• Rate of Progress
• 300 Test cases = 10 person days (2 weeks)
• 3000 Test cases = 10 x 10 person days (2 weeks)
• QA organizations never staffed to handle higher
number of test case loads for acceptance testing.
22. What to Test?
• If the tests are automated and need no maintenance,
then yes run them.
• If the tests are manual, and you have insufficient
resources, prioritize the tests by 20% of tests that are
80% of the output, such as:
• How likely end-user will do this.
• How much of the code does it exercise.
• How much change does it cause in the application state.
• The number of bugs its found historically.
23. Setting Priorities
• Rank test cases 1 thru 5, where 1 is the highest
outputters.
• Maintain a 20% distribution across the ranking.
• Run the testcases ranked 1 first.
• If time permits, precede to rank 2 and so forth.
• Aging – Keep track of how often a test is run.
• Periodically review test rankings.
• If a rank one test has been ran in high frequency and not
found bugs, consider switching it with a rank 2 test case.
• Apply similar periodic evaluation to rank 2, 3 and 4.
• If a lower ranked test case changes to higher output, then
consider switching it with a higher ranked test case.
24. Acceptance Test - Sampling Distribution
Build (i.e. Population)
x̅
Assume 1000 selected tests per round.
Round 1: 50 bugsx̅
Round 2: 40 bugs
x̅ Round N: 6 bugs
Can we use the Central Limit Theorem. I don’t think so, certain conditions are not meet:
- Samples are not truly randomly selected
- The state is not static: new code is introduced, and old code is fixed.
25. Predicting Remaining Defect Rate
Fitted Line
Bugs per 1000 tests
Number of
Bugs
Time Series
Defect Burndown Chart
• Traditional Agile Method for Predicting Defect Rate
• Plot defects found per sprint.
• Plot a straight line and extrapolate.
26. Statistically Zero Defects
Number of
Bugs
Time Series
Defect Burndown Chart
• Defect rates over time do not fit a straight line!
• They are an S curve. Over time the curve flattens out and
reaches a limit.
Amount of new/changed
code > unchanged code
Amount of new/changed
code ~= unchanged code
Amount of new/changed
code < unchanged code
Threshold where defect change
rate hits a limit.
No amount of effort will have
statistical impact – Statistical Zero
(but not actual) Defect point.
27. Predicting Effort – A Bellman Approach
• A Bellman Equation approach to predicting test effort over the
development lifecycle.
E = Effort
E(n) = Effort for n iterations
Di = Defects found on an iteration
γ = Discount factor > 1 (e.g., 1.2)
E(n) = γ * D1 + γ2 * D2 + γ3 * D1 … + γn * Dn
The further a defect
is found in the lifecycle
the more progressively
the effort is penalized.
28. Predicting Effort - Example
Number of Defects per Test Run: 60, 50, 55, 40, 30, 20, 10, 5, 4, 4
E(n) = 1.2(60) + 1.4(50) + 1.7(55) + 2(40) + 2.5(30) + 3(20) + 3.6(10)
+ 4.3(5) + 5.2(4) + 6.2(4)
Time Series
10
20
30
40
50
60
70
80
90
Effort has plateaued
Statistical Zero Defects:
Effort exceeds return
29. How About using Machine Learning!
Total
Volume
of Code
Volume
of Code
Changed
Age
of
Code
Person
Hours
Number
of Open
Defects
Number
of
Closed
Defects
Number of
Defects
Found
From SCM Management Defect Reporting System
TRAIN
MODEL Predictor