Testing Types and Usability Standards Flashcards

1
Q

What is Black Box Testing?

A

Black Box Testing is the type of testing where an application is tested based on the inability to access the code and no knowledge of the software’s internal architecture.

Black Box Testing, tests both the functional (if you have to test the functional requirements of a system) as well as non-functional requirements (if you have to test the non-functional requirements; such as performance, scalability, usability) of the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How to do Black Box Testing?

A

Read requirements.

  1. Based on requirements execute positive steps, valid inputs. It also called “Happy path”.
  2. Execute negative steps, invalid inputs. It’s also called the “unhappy path”.
  3. Check results. Compare the actual results with the expected results.
  4. Create a bug report if something is broken or unexpected.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is White Box Testing?

A

White Box Testing is the opposite of black box testing. It is a type of software testing in which the tester has knowledge about the internal application structure and the software code.

The white box testing technique is used by both developers as well as testers. It helps them to understand which line of code is actually executed and which is not.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Gray Box Testing?

A

Gray Box Testing is a technique to test the software product or application with partial knowledge of the internal workings of an application. Gray Box Testing is a software testing method, which is a combination of both White Box Testing and Black Box Testing.

  • In White Box Testing internal structure (code) is known
  • In Black Box Testing internal structure (code) is unknown
  • In Grey Box Testing internal structure (code) is partially known
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Cross-Browser Testing?

A

Cross-Browser Testing is simply what the name suggests - test your website or application in multiple browsers - making sure that it works consistently and as intended without any dependencies, or compromise in quality. This technique is applicable to web and mobile applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Compatibility Testing?

A

Compatibility Testing is a type of Software Testing to check whether your software is capable of running on different hardware, operating systems, applications, and network environments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Let’s look into some Compatibility Testing types

A
  • Hardware: It checks that the software is compatible with different hardware configurations.
  • Operating Systems: It checks that your software is compatible with different Operating Systems like Windows, Unix, Mac OS, etc.
  • Software: It checks that your developed software is compatible with other software. For example, MS Word application should be compatible with other software like MS Outlook, MS Excel, etc.
  • Network: Evaluation of the performance of a system in a network with varying parameters such as Bandwidth, Operating speed, Capacity. It also checks an application in different networks with all parameters mentioned earlier.
  • Browser: It checks the compatibility of your website with different browsers like Firefox, Chrome, Edge, etc.
  • Devices: It checks the compatibility of your software with different devices like USB port Devices, Printers and Scanners, other media devices and Bluetooth.
  • Mobile: Checking that your software is compatible with mobile platforms like Android, iOS, etc.
  • Versions of the Software: It is verifying that your software application is compatible with different versions of the software. For instance it checks your Microsoft Word is compatible with Windows 7, Windows 8, Windows 10.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Positive Testing?

A

Testing by providing valid data as input. An application does what is supposed to do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Negative Testing?

A

Testing by providing invalid data as input. An application does not do anything that it is not supposed to do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is API (Application Programming Interface)

A

APIs, or Application Programming Interfaces, are the connection between different systems or layers of an application. Applications often have three layers: a data layer(Server), a service layer (API), and a presentation layer
(UI). The API layer contains the business logic of an application - the rules on how users can interact with services, data, or functions of the app. Because the API or service layer directly touches both the data layer and the presentation layer, it presents the sweet spot of continuous testing for QA and Development teams. While traditional testing has been focused on the UI, the advantages of API testing are becoming well known.

While there are many aspects of API testing, it generally consists of making requests to a single or sometimes multiple API endpoints and validate the response — whether for performance, security, functional correctness, or just a status check.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is analytics?

A

Analytics are important for finding out what’s working and what’s not working on your website. In short, they allow you to see user feedback at scale — via users’ actual clicks and movements. This is essential for improving your website’s UX, and in turn, conversions.

And we are going to check the most popular tools for analytics testing.

Let’s start with web analytics. These tools are most effective at measuring key metrics like conversion rates, bounce rates, user demographics, user behavior, most visited web pages and more. We typically use these tools for user research and to identify areas with poor UX, but we can also use them as a diving board for usability testing and A/B testing later on.

  • Google analytics
  • Adobe Analytics
  • Chartbeat
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Accessibility Testing?

A

Accessibility Testing is defined as a type of Software Testing performed to ensure that the application being tested is usable by people with disabilities like hearing, color blindness, old age, and other disadvantaged groups. It is a subset of Usability testing.

People with disabilities use assistive technology which helps them in operating a software product. Examples of such software:

  • Speech Recognition Software — converts the spoken word to text, which serves as input to the computer.
  • Screen reader software — used to read out the text that is displayed on the screen.
  • Screen Magnification Software — used to enlarge the monitor and make reading easy for vision-impaired users..
  • Special keyboard — made for users who have difficulty with motor control so they can type more easily.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Localization testing?

A

Is the software testing process for checking the localized version of a product for that particular culture or locale. The areas affected by localization testing are UI and content.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Globalization testing?

A

is to ensure that application can function in any culture or locale (language, territory and code page). It is also called Internationalization Testing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Functional Testing?

A

Functional Testing is a type of software testing that verifies that each function of the software application, operates in conformance with the functional requirements.

Each and every functionality of the system is tested by providing appropriate input, verifying the output, and comparing the actual results with the expected results.

This testing mainly involves black box testing and it is not concerned with the source code of the application.

It also involves checking of User Interface, APIs, Database, security, client/ server applications and functionality of the Application Under Test. The testing can be done either manually or using automation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Functional testing concentrated on?

A
  • Mainline Functions: Testing the main functions of an application
  • Basic Usability: It involves basic usability testing of the system. It checks whether a user can freely navigate through the screens without any difficulties.
  • Accessibility: Checks the accessibility of the system for the user.
  • Error Conditions: Usage of testing techniques to check for error conditions. It checks whether suitable error messages are displayed.
17
Q

What are Functional bugs?

A

Functional Bugs are related to the functionality of a piece of software. Every time you perform an action and the website/app doesn’t respond as you expected, it might be a functional issue.

18
Q

How to determine if app behavior is a functional bug

A
  • ry to figure out if a feature is designed in a particular way or if it is actually broken. Test it by itself and in combination with other features to spot potential differences.
  • Think about what the customer’s intentions might have been and consider that the product might just work how it has been implemented.
  • Find evidence that something is not working as it should. Support your claim.
    Example:A web shop functionality works differently than in other web shops you know. That doesn’t mean the functionality is broken. The client can implement their product however they want.
19
Q

Severity Assessment
When judging the functional severity level of a bug, several factors have to be considered:

A
  • functional impact
  • possible workaround vs. showstopper
  • extent of the problem
  • potential and notable loss of sales
  • comparison to other bugs of the same severity.
20
Q

What are three severity levels for functional bugs?

A

LOW:
- Minimal impact on the usage of the product.
- The product shows unintended behavior, but the general usage is not affected.
- Few users, products, or items are concerned.
- A feature/piece of functionality is broken or unavailable, but an easy workaround solves the problem.

HIGH:
- Serious impact on the usage of the product, but the main functionality is intact.
- A large number of users, products, or items is concerned.
- Non-trivial functionality is broken or unavailable and no workaround exists.
- Important functionality is broken or unavailable but a workaround exists (hence not a showstopper).

CRITICAL:
- The bug prevents the core functionality of the app or website.
- A showstopper prevents the user from continuing with a main process, e.g. the checkout process.
- The bug causes a potential and notable loss of sales for the company running the app or website.

21
Q

What is Usability Testing?

A

One of the best ways to get testing done is to use real subjects that don’t have any ties to your company. You will want to get honest feedback. It can be beneficial to get both qualitative and quantitative data, rather than just getting one type of information.

22
Q

What are UI/UX Bugs?

A

Some of the most common bugs that can be encountered in user interface design.
1. Layout
- Misalignment (e.g., double margin float bug, staircase effect, misbehaving floated layout, float drop bug, guillotine bug, resize bug)
- Overlapping (e.g., auto overflow)
- Missing content/images
- Spacing (e.g., linewidth, line height, unwanted space betw#7 Test Planning & Regression Testingeen list items, vertical spacing bug)

  1. Font
    - Font is from the same family but different type (e.g., Helvetica Lite was the font but developer had put Helvetica regular)
    - Fonts from different families used
    - Mismatching of font size
  2. Color
    - Mismatch of color code due to multiple reasons
    - Button color should have changed when disabled but it got missed
  3. Content
    - Upper/Lower-Case differences
    - Mismatch of letters/words
    - Mismatch of images
    - Spelling mistakes
  4. Images
    - In certain browsers, sometimes the images flicker. One of the reasons is that browsers are unable to cache the background images properly and has to reload them again and again.
23
Q

What is UNIT TESTING?

A

Is a level of software testing where individual units/ components of software are tested. The purpose is to validate that each unit of the software performs as designed. A unit is the smallest testable part of any software. It usually has one or a few inputs and usually a single output. In procedural programming, a unit may be an individual program, function, procedure, etc. In object-oriented programming, the smallest unit is a method, which may belong to a base/ super class, abstract class or derived/ child class. (Some treat a module of an application as a unit.

24
Q

What is Integration Testing?

A

Is a level of software testing where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units. Test drivers and test stubs are used to assist in Integration Testing.

25
Q

What is SYSTEM TESTING?

A

Is the process of testing an integrated system to evaluate and verify that it meets and complies with specified requirements. It is a level of software testing where a complete and integrated software is tested.

26
Q

What is ACCEPTANCE TESTING?

A

Is a level of software testing where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

27
Q

What is END-TO-END TESTING?

A

Is a technique used to test whether the flow of an application from start to finish is behaving as expected. The purpose of performing end-to-end testing is to identify system dependencies and to ensure that data integrity is maintained between various system components and systems.
The entire application is tested for critical functionalities such as communicating with the other systems, interfaces, database, network, and other applications.

28
Q

What is Security Testing?

A

Security Testing is a type of Software Testing that uncovers the vulnerabilities of the system and determines that the data and resources of the system are protected from possible intruders.
It ensures that the software system and application are free from any threats or risks that can cause a loss.

29
Q

What is Load Testing?

A

The process that simulates actual user load on any application or website. It checks how the application behaves during normal and high loads. This type of testing is applied when a development project nears its completion.

30
Q

Why do Load Testing?

A
  • Find bugs that are not possible with any other
    testing method such as memory management leaks, bugs, buffer overflows, etc.
  • To assure that the application is able to achieve the performance point recognized during performance testing.
  • To determine the operating capacity of an application
  • To check out that the current infrastructure is sufficient to run the application or not.
  • To find the numbers of concurrent users which an application can support, and scalability to allow more users to access it.
31
Q

What is Stress Testing?

A

A type of testing that determines the stability and robustness of the system. It is a non-functional testing technique. This testing technique uses an auto-generated simulation model that checks all the hypothetical scenarios.

32
Q

Why Stress Testing?

A
  • It helps the testing unit to test the system in case failures happen.
  • To make sure that the system has saved the data before crashing or not.
  • To check whether any unexpected failures harm the system security.
33
Q

What is Performance Testing?

A

A type of testing for determining the speed of a computer, network or device. It checks the performance of the components of a system by passing different parameters in different load scenarios.

34
Q

Why Performance Testing?

A
  • Validating that the application performs properly
  • Validating to confirm the performance needs of the business
  • Finding, analyzing and, fixing performance issues
  • Validating the hardware adequate to handle the expected load.
  • Doing capacity planning for future demands on the application