In addition to analytical and logical thinking testers must know notions of programming and also coding, same as for writing simple unit test scripts. They must know about concepts of databases, webservices, build systems and continuous integration.
A DevQA stimulates the testing area to expand their knowledge leading out of the comfort zone where once almost manual activities were repeated throughout the development of a system. They have an obligation to reinvent their activities and assisting the team in others, being more integrated and participatory.
QA is a failure prevention system that predicts almost everything about product safety, quality standards and legality that could possibly go wrong, and then takes steps to control and prevent flawed products or services from reaching the advanced stages of the supply chain.
QC is a failure detection system that uses a testing technique to identify errors or flaws in products and tests the end products at specified intervals, to ensure that the products or services meet the requirements as defined during the earlier process for QA.
Testers are not required to know coding or internal structure of the software. Black box testing method relies on testing software with various inputs and validating results against expected output.
Follows white box testing approach where developer will test units of source code like statements, branches, functions, methods OR class, interface in OOP. Unit testing usually involves in developing stubs and drivers.
Also known as clear box testing, transparent box testing and glass box testing. White box testing is a software testing approach, which intends to test software with knowledge of internal working of the software.
Tests the connectivity among units/component or multiple units/components. There are different approaches for Integration testing namely, Top-down integration testing, Bottom-up integration testing and Sand witch testing.
Functional testing focuses on testing software against design document, Use cases and requirements document.
Will enable to validate the software as a whole against the requirements for which it was built. Different types of tests are carried out to complete system testing.
Objective of regression tests are to find defects that got introduced to defect fix(es) or introduction of new feature(s).
Sanity testing is a quick evaluation of the software, environment, network, external systems are up & running, software environment as a whole is stable enough to proceed with extensive testing.
Performed by end user when the features have been delivered by developers. The aim of this testing is to check if the software confirms to their business needs and to the requirements provided earlier.
Checks the behavior of the software under normal and over peak load conditions. Load testing intends to find bottlenecks or issues that prevent software from performing as intended at its peak workloads.
Is performed to understand how user friendly the software is. Objective of usability testing is to allow end users to use the software, observe their behavior, their emotional response and collect their feedback.
makes use of testing tools and/or programming to run the test cases using software or custom developed test utilities.
Objective of security testing is to secure the software is to external or internal threats from humans and malicious programs.
Compatibility testing checks if the software can be run on different hardware, operating system, bandwidth, databases, web servers, different browsers and different versions of the browsers etc.
It is a type of performance testing, in which software is subjected to peak loads and even to a break point to observe how the software would behave at breakpoint. It enables to check some of the quality attributes like robustness and reliability.
An informal type of testing conducted to learn the software at the same time looking for errors or application behavior that seems non-obvious.
Component testing involves testing a group of units as code together as a whole rather than testing individual functions, methods.
Accommodates agile software development approach and practices. In an Agile development environment,testing is an integral part of software development and is done along with coding.
In static testing software code is not executed instead it is reviewed for syntax, commenting, naming convention, size of the functions and methods etc. Static testing usually has check lists against which deliverables are evaluated.
Software is expected to adapt to a particular locale, it should support a particular locale/language in terms of display, accepting input in that particular locale, display, font, date time, currency etc., related to a particular locale.
Objective of Gorilla Testing is to exercise one or few functionality thoroughly or exhaustively by having multiple people test the same functionality.
Involves testing with unexpected or random inputs. Software is monitored for failures or error messages that are presented due to the input errors.
tests how secure software and its environments are when subject to attack by an external or internal intruder. Intruder can be a human/hacker or malicious programs.
Focus of end to end testing is to test end to end flows e.g. right from order creation till reporting or order creation till item return etc and checking. End to end testing is usually focused mimicking real life scenarios and usage.
Dynamic testing is a testing approach where-in testing can be done only by executing code or software are classified as Dynamic Testing.
Determines if the contents of the website can be easily accessed by disable people. Various checks such as color and contrast (for color blind people), font size for visually impaired, clear and concise text that is easy to read and understand.
Based on concept “error aggregates at boundaries”. In this testing technique, testing is done extensively to check for defects at boundary conditions. If a field accepts value 1 to 100 then testing is done for values 0, 1, 2, 99, 100 and 101.