Quality Assurance (QA)

Quality Assurance (QA)

A set of activities to ensure whether a product or service (that is being developed) meets specified requirements. Software QA involves the entire software development process monitoring and improving the process, making sure that any agreed-upon processes, standards and procedures are followed, and ensuring that problems are found and dealt with.

Types of testing

Load, stress, performance, regressional, functional, security, cross-browser, black-box, etc.

Functional, Regression testing tools

Selenium (browser automation), WebDriver, SoapUI (for API testing), Watir, Watin, QTP, Cucumber.

Load, Stress and Performance testing tools

JMeter, NeoLoad, LoadRunner, LoadUI, Siege, Gatling.

A/B testing

A method of comparing two versions of a web page/app against each other to determine which one performs better. It uses data and statistics to validate new design changes and improve conversion rates.

Ad-Hoc Distribution (Mobile)

Ad Hoc Distribution allows you to distribute apps to up to 100 iOS devices for beta testing. It is available on both the Apple Developer Program and the Apple Developer Enterprise Program.

Appium

An open source test automation framework for use with native, hybrid and mobile web apps. Appium is cross-platform: it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.

Arquillian

A framework that simplifies integration testing for Java middleware, it works with plumbing of container management, deployment, and framework initialization, has three major sections: test runners, containers, and test enrichers.

AutoIt

BASIC-like script language for automation in Windows, on which you can automate routine work (creating bots). AutoIt was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs.

Automation Testing

A software verification process in which the basic functions and test steps, such as starting, initializing, executing, analyzing and outputting the result, are performed automatically using tools for automated testing.

Baseline testing

A type of non-functional testing which is generally performed by testing engineers. As this is related to benchmarking, it is also known as benchmark testing. This test forms the base for other testing to compare the performance of a new application or unknown application with a known standard of reference.

Bazel

A software development tool for build and test automation. Bazel allows you to optimize performance, e.g. it speeds up tests and builds by rebuilding only necessary parts, it is also scalable and can be extended with additional features to suit your needs. It is also cross-platform and supports a variety of languages.

Behat

A framework that supports development according to the BDD concept. Its feature is that it allows you to write well-read tests that are easy to understand even for programmers. Because of its multilayeredness, a programmer who has not previously used Behat may need more time to write tests and understand this tool.

Black-box testing

The method of testing the functional behavior of the system from the point of view of the external world, in which knowledge of the internal arrangement of the tested object is not used. Under the strategy is meant systematic methods of selecting and creating tests for the test suite.

BlazeMete

This is a cloud platform for carrying out load testing of Web sites. A distributed network of servers allows you to generate loads of up to hundreds of thousands of users. Previously, this effect could be achieved only by using a very expensive test environment.

Calabash

A cross-platform framework for automating the acceptance testing of Android and iOS applications. Calabash consists of libraries that enable the test to interact programmatically with native and hybrid applications. The interaction is in the form of implemented user actions.

CasperJS

A navigation scripting and testing JavaScript utility for the PhantomJS. With CasperJS, we can describe in a common JavaScript language scenarios of sequential site navigation, with referrals by links, filling and sending forms, and of course with test checks for matching what we see to certain conditions. In other words, CasperJS is a library for front-end testing.

Chai

A TDD / BDD assertion library for Node.js that can be used in conjunction with Mocha and allows expressing tests in a simple, readable form. The chain-capable BDD styles provide an expressive language & readable style, while the TDD assert style provides a more classical feel.

Charles

A web proxy (HTTP Proxy / HTTP Monitor) that runs on your own computer. Charles is able to record and display for you all of the data that is sent and received. Charles makes it easy to see what is happening, so you can quickly diagnose and fix problems.

Controller

A software testing tool from Hewlett Packard that defines the events that occur during each testing session of LoadRunner, it controls the number of users to emulate, their actions, etc.

Cross-browser testing

A type of software testing that tests web projects across different browsers, maintain different types of code and fixing the problems, popular cross-browser tests are: Browsershots, Browser Sandbox, Webshot, Browsera, etc.

Cucumber

A tool for running automated acceptance tests written in a behavior-driven development style. Allows to execute plain-text functional description as automated tests. Cucumber is written in the Ruby programming language.

DbUnit

A framework (JUnit extension) that brings the database to a specific state between test calls. It is used if necessary to load data into the database before calling each test, and after calling the tested functionality, which modifies the data in the database, to check the correctness of the changes.

E2E-tests

End-To-End Tests is a framework used to test whether the flow of an application is performing as designed from start to finish, from the point of view of the end user. End to End Testing is usually executed after Functional and System Testing.

EasyMock

A Java-based mocking framework used for unit testing of Java applications, allows to mock interfaces, to test the functionality of a class in isolation. EasyMock, along with other frameworks for creating test replicas, automates and simplifies the process of creating test implementations of interfaces.

Development by Synergize.digital

Sign up for updates
straight to your inbox