Tag Archives: testing

Why is QA needed for Machine Learning Models?

QA for Machine Learning Models

Given that the machine learning models are also a kind of conventional software application, the quality assurance principles applied to the conventional software development would or should also apply to build the machine learning models. In this post, you would learn about some of the important reasons as to why Quality Assurance (QA)is important to make sure that the machine learning models of only high quality are deployed in the production. Given that the machine learning models are said to be non-testable, it presents a set of challenges to do the quality control checks or perform testing of machine learning models from a quality assurance perspective. In this relation, I …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

Testing Machine Learning Models on Dual Coding Principles

Automation of Dual Coding Testing of ML Models

This post intends to propose a technique termed as Dual Coding for testing or performing quality control checks on machine learning models from quality assurance (QA) perspective. This could be useful in performing black box testing of ML models. The proposed technique is based on the principles of Dual Coding Theory (DCT) hypothesized by Allan Paivio of the University of Western Ontario in 1971. According to Dual Coding Theory, our brain uses two different systems including verbal and non-verbal/visual to the gather, process, store and retrieve (recall) the information related to a particular subject. One of the key assumptions of dual coding theory is the connections (also termed as referential …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

QA – Blackbox Testing for Machine Learning Models

blackbox testing

Data science/Machine learning career has primarily been associated with building models which could do numerical or class-related predictions. This is unlike conventional software development which is associated with both development and “testing” the software. And, the related career profiles are software developer/engineers and test engineers/QA professional. However, in the case of machine learning, the career profile is a data scientist. The usage of the word “testing” in relation to machine learning models is primarily used for testing the model performance in terms of accuracy/precision of the model. It can be noted that the word, “testing”, means different for conventional software development and machine learning models development. Machine learning models would …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

Assessing Quality of AI Models from QA Standpoint

Quality of Machine Learning Models

In this post, you will learn about the definition of quality of AI / machine learning (ML) models. Getting a good understanding of what is the high and low quality of AI models would help you design quality control checks for testing machine learning models and related quality assurance (QA) practices. This post would be a good read for QA professionals in general. However, it would also help set perspectives for data scientists and machine learning experts. The following are some of the key quality traits which are described in detail for assessing the quality of AI models: Functional suitability Maintainability Usability Efficiency Security Portability When designing QA practice and related quality control checks, all of the above would need to be considered for testing …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

QA – Metamorphic Testing for Machine Learning Models

Metamorphic Relations for Machine Learning Models QA

In this post, you will learn about how metamorphic testing could be used for performing quality control checks/testing on machine learning models. The post is primarily meant for data science (QA) specialists to plan the test cases to test the machine learning (ML) model implementation from QA perspective. Testing machine learning models from a quality assurance perspective is different from testing machine learning models for accuracy/performance. The word “testing” is one of the conflicting technical nomenclatures given its usage by machine learning experts and software engineering community in general. In this post, the following topics are discussed: Introduction to metamorphic testing Why metamorphic testing for machine learning models? Automated metamorphic testing of ML models Introduction …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

QA – Why Machine Learning Systems are Non-testable

non-testability-of-machine-learning-systems

This post represents views on why machine learning systems or models are termed as non-testable from quality control/quality assurance perspectives. Before I proceed ahead, let me humbly state that data scientists/machine learning community has been saying that ML models are testable as they are first trained and then tested using techniques such as cross-validation etc., based on different techniques to increase the model performance, optimize the model.  However, “testing” the model is referred with the scenario during the development (model building) phase when data scientists test the model performance by comparing the model outputs (predicted values) with the actual values.  This is not the same as testing the model for any given input for which the …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

QA – Testing Features of Machine Learning Models

Testing Features of Machine Learning Models

In this post, you will learn about different types of test cases which you could come up for testing features of the data science/machine learning models. Testing features are one of the key set of QA tasks which needed to be performed for ensuring the high performance of machine learning models in a consistent and sustained manner. Features make the most important part of a machine learning model. Features are nothing but the predictor variable which is used to predict the outcome or response variable. Simply speaking, the following function represents y as the outcome variable and x1, x2 and x1x2 as predictor variables. y = a1x1 + a2x2 + a3x1x2 + e In the above function, …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

QA & Data Science – How to Test Features Relevance

how to test feature relevance in data science

In this post, I intend to present a perspective on the need for QA / testing team to test the feature relevance when testing the machine learning models as part of data science QA initiatives, and, different techniques which could be used to test or perform QA on feature relevance. Feature relevance can also be termed as feature importance. Simply speaking, a feature is said to be relevant or important if it adds real predictive value to the underlying model. The relevant features must display a stable statistical relationship or association with the outcome variable. Well, an association does not imply a causation. However, a relevant feature or a feature …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

Quality Assurance / Testing the Machine Learning Model

QA Framework for testing Machine Learning Models

This is the first post in the series of posts related to Quality Assurance & Testing Practices and Data Science / Machine Learning Models which I would release in next few months. The goal of this and upcoming posts would be to create a tool and framework which could help you design your testing/QA practices around data science/machine learning models. Why QA Practices for testing Machine Learning Models? Are you a test engineer and want to know about how you could make difference in AI initiative being undertaken by your current company? Are you a QA manager and looking for or researching tools and frameworks which could help your team perform QA with …

Continue reading

Posted in Data Science, Machine Learning, QA, Testing. Tagged with , , , .

Selenium Interview Questions and Answers – Set 1

selenium interview questions and answers

In this post, you will take the objective test (interview questions and answers) to check your knowledge of Selenium. This could prove to be helpful in preparing for upcoming interviews related to Selenium automated testing. Selenium Quiz – Objective Questions and Answers Selenium Sample Interview Questions The following are some of the interview questions which can be prepared: What is the difference between Selenium 2 and Selenium 1? When would you want to use Selenium Grid? What are the different web element location strategies which are used to locate elements on the web page? What is the difference between Selenium IDE and Selenium WebDriver? What is the difference between andWait and waitFor …

Continue reading

Posted in Career Planning, Interview questions, QA, Testing. Tagged with , , , .

Mobile Testing Tools & Methodologies used @ Expedia

The article lists down tools & methodologies used for testing Expedia mobile apps (both mobile web & native). Test-driven Development (TDD) TestNG: TestNG is a unit testing framework similar to JUnit. Apart from unit tests, TestNG can also be used to cover other categories of tests such as functional, end-to-end, integration etc. EasyMock: It is, primarily, used for mocking and custom solution for stubbing. As a mocking framework, EasyMock provides mock objects for interfaces by generating them on the fly using Java’s proxy mechanism.   Automated Acceptance Testing Frank (iOS): Frank, primarily, allows you to write and execute automated acceptance tests (using Cucumber) against your iOS application to verify its functionality. Simply …

Continue reading

Posted in Mobility, QA. Tagged with , , .

Mobile Apps Testing Frameworks Used at LinkedIn

The article lists down tools & frameworks that are used for mobile app testing at LinkedIn. Vows: Vows is a behavior driven development framework for Node.js. It is used to do asynchronous testing with Node.js. The primary feature of the framework is its support for asynchronous testing with Node and, the ability to run concurrent tests. Vows also supports code coverage reporting. Robotium: Robotium is an Android test automation framework that has full support for native and hybrid applications. It supports black-box UI tests for android applications. It is used to test native LinkedIn android app. Selenium: Selenium is used to automate end-to-end testing with mobile web browsers. FoneMonkey: FoneMonkey …

Continue reading

Posted in Mobility, QA. Tagged with , , .

Why Facebook Relies on A/B Testing?

This article talks about A/B testing, why companies like Facebook rely on it and what would it take to adopt such testing for your website.   What is A/B testing? A/B testing is a strategy in marketing in which two versions, A and B, (the control and the treatment) are tested against each other. A/B testing, as the names implies, is a simple randomized experiment with two variants/versions, A and B, one of which version A might be currently used version (control) and, version B (treatment) is modified in some respect to study/test the users’ behavior. These tests are also called as split tests. These tests involve modification some of the following …

Continue reading

Posted in QA. Tagged with , .

Tips & Techniques for Estimating Software Testing Effort

testing

Even before we go about looking into tips and techniques for doing effort estimation for testing, it may be kept in mind that testing can be secluded as a separate task. It starts with the start of the project by starting to analyzing the project requirements and come up with a test plan comprising of test cases (primarily) and goes on till the end in form of performing the tests. However, it may be good idea to understand different aspects of testing to be done in the project and assign efforts accordingly if the testing includes specific attention due to various different reasons. Also, different software development methodologies such as …

Continue reading

Posted in Testing. Tagged with , , .

Testing Early, Testing Often for Greater Success in Agile SCRUM

testers and developers collaborate

In my experiences, I have found two different approaches taken towards testing in Agile SCRUM: Testers creating test plans while interacting with BAs, as like in waterfall model, in the beginning of each sprint, and executing those tests once the development is done. In this model, testers and developers still managed to survive successfully in their own islands/worlds and things used to move. However, there is not much interaction and collaboration between developers and testers during development phase. There are chances of usual conflicts that happens in the world of development and testing. Testers creating test plans with help of BAs, collaborating on test cases, related with user stories, with …

Continue reading

Posted in Agile Methodology, QA. Tagged with , , .

If I Woke up as a Test Engineer One Day…

If I, being an application developer, have to spend a day as a tester, following are some of the activities I would do: Analyzing Test Cases: Examine test cases and make sure that the coverage is maximum in terms of including all test scenarios in relation with the use cases. Test Automation: Look for the areas which can be automated and suggest the same to my lead/manager. Digg a little deeper in the code to find bugs which are difficult to find in manual testing. Learn techniques in performance testing as I am very passionate about the same. Learn few tips and techniques in security testing, along with knowledge on …

Continue reading

Posted in Software Engg, Software Quality. Tagged with .