It is way of testing conducted to check whether a system meets its acceptance criteria. Acceptance testing is done by the customer or user along with other stakeholders will also be involved as well. Acceptance testing is a validation type testing method which occurs at single level more. For example:
- A Commercial Off the shelf (COTS) software products acceptance testing take place when it is integrated or installed
- Acceptance testing for the usability of the components may be done during components testing.
- Acceptance testing for new functional enhancements may come before systems testing.
The type of acceptance testing’s:
- The User Acceptance test: focuses mainly on functionality’s thereby validating the fit-for-use of the systems by business users. The user acceptance test is done by the application managers and users.
- The Operational Acceptance test: well known as Production acceptance test is there to validate whether systems meets the requirements for operations. In most of the organization the operational acceptance test is performed by systems administration before systems are released. It may include testing of disaster recovery, backup/restore, maintenance tasks and periodic check for security’s vulnerabilities.
- Contract Acceptance testing: Performed against a contract’s acceptances criteria for developing customizable software.
- Compliance acceptance testing: It’s known as regulations acceptance testing is performed against regulations which will be adhered to such as legal or safety regulations or governmental.
Accessibility testing’s is a type of testing used to determine can individuals with disabilities will be able to use systems in questions which can be hardware software or other types of systems. Disabilities include a large range of physical problems, movement and hearing, learning disabilities and also with sight difficulties.
Problems can be classified into following different access difficulties and issues:
- Visual Impairments
- Physical Impairment
- Hearing Impairment
- Cognitive Impairment
- Learning Impairment
Some of the tools are:
A Designer : Tool is developed by IBM which can simulates the experiences of visually impaired individuals so designers can better understands the needs of disabled peoples and accordingly develop applications.
Web Anywhere: This is a browsers based tools that works similarly to the on screen readers Jaws. It helps the readers how to read web pages.
Vischeck: Tool used to simulate how web pages or images will be viewed by peoples affected with color-blindness. This is done by entering uploading images or URL.
Web accessibility toolbar: Extension of Opera or Internet explorer that offers web pages designers with useful help in analysis of web pages. Grey Scale features helps to find low contrast spots in designs.
In active testing tester introduced the test data and analyzing the results. For example, we will fill the tank of a car with 1 liter petrol and see its average
Actual result which comes after performing the test is called as Actual Outcome always documented with respect to particular test case. Actual outcome is compared with the expected outcome to find the difference in deviation for the analysis.
Verify input field can accepts 8 characters maximum
Login to application and key in 8 characters in the field
Application should accept all 8 characters in the field.
All 8 characters application accepts
If expected results don’t match with actual results, then user logs defects. The defect goes into the defects life cycle and fix will be addressed by testers.
Ad hoc testing’s performed without plans of actions and any actions taken will not be typically documented. Testers will not be having detailed information of product requirements. Ad hoc testing is also known as monkey testing and random testing. Because non-methodical of approach ad hoc testing can miss flaws that can be found in more structured testing’s. However, the lack of formal requirements also means that obvious flaws can be attended to more quickly than if they had to be approached in a more systematic fashion.
There are types of Adhoc testing:
- Buddy Testing
- Pair Testing
- Monkey Testing
It is a type of testing, which evaluates a system ability to perform in the future. The evaluation process is conducted by testing teams.
Agile development models is type of Incremental models. Software is developed in rapid cycles and incremental. The results are in small incremental releases with each release buildings on previous functionality. Each release tested thoroughly to ensure quality ‘swell maintained. It’s used on time critical applications. Extreme Programming currently one of the most well-known agile development life cycle models.
Advantages of Agile model:
- Customer’s satisfaction with rapid, continuous deliveries of useful software’s.
- People’s interactions are emphasized on tools and process. Developers, Customers and testers constantly interact with each other.
- Frequently delivered Working software (within weeks not in months).
- Face-to-face conversations are the best form of communications.
All Pairs Testing
All-pairs testing (or pairwise testing) are technique for generating test cases inputs that reduces the overall numbers of testers need to write. Instead of writing test cases for every combination of the parameters we instead make sure we have at least one test case for each pair of input parameter values. This takes advantages of a convenient discovery in software’s defects, most defects are caused by a single parameter many defects are caused by the interactions of two parameters fewer defects occur by the interactions of three or more parameters.
All-Pairs Testing Advantage:
- Allows you to reduce the number of test cases needed to test methods with many parameter value combinations
- Utilizes information about defects occur to focus on getting reasonable test coverages
- Uses tools to generate test case inputs
Alpha testing is one of the most common testing strategies used in software development. It’s specially used by product development organizations. It takes place at the developer’s site. Developers observe the users and note problems. Alpha testing is testing of an application when development is about to complete. Minor design changes can still be made as a result of alpha testing. Alpha testing is typically performed by a group that is independent of the design team, but still within the company, e.g. in-house software test engineers, or software QA engineers.
API is an acronym for Application Programming Interface. It enables communications between two separate software systems. A software system implementing an API contains sub-routines /functions which can be executed by other software systems.
To check API, it needs to be called from calling software. Necessary test environments, server, database, applications setup needs to be prepared before API Testing. API testing is focused on functionality of the software's business logic and it is entirely different from GUI testing’s. It concentrates on the business logic of the software’s architecture. This testing won't concentrate on the looks and feel of applications.
Arc Testing also called as branch testing. Outcome of a decision is the branch. So branch coverage is measure of all outcomes of branch. Determining the number of branches in methods is easy as output of branches has usually two outcomes (True of False).
Branch testing involves executing each condition in decision in order to test all possible outcomes at least once. It helps in validating all branches in code make sure that no branch leads to abnormal behaviors of application.
In software testing an anomaly is everything that differs from expectation. This expectation can result from a document or also from a person’s notion or experiences. Also an anomaly can be a feature or a usability problem, because the test object may be correct regarding the specification - but it can be improved. Another possibility for an anomaly is that a tester executed the test case wrong and therefore the expected result is also wrong.
A typical anomaly report contains
- Bug summary
- Bug description
- Status of bug
- Steps to reproduce bug
The assertion is Boolean expressions at specific points in a program which is true unless there are bugs in the program. A test assertion is defined as expression which encapsulates some testable logic specified about targets under tests.
Automated Software Testing
It involves of special software’s to the control executions of tests and the comparisons of actual outcomes with predicted outcomes. Test automations can automate some repetitive but necessary tasks in a formalized testing process already in place or add additional testing’s that would be difficult to perform manually. Automated software testing’s is the best way to increase efficiency, effectiveness and coverage of software testing.
Example: - Selenium, Rational Robot, Quick Test Professional