Testing Questions and Answers Flashcards

1
Q

What is black/white/gray box testing?

A
  • Black box - done without access to source code, from user standpoint. Bugs are reported at the behavioral level
  • White box - done with access to the source code. Bugs are reported at the source code level
  • Gray box - tester has none, or limited access to source code. Represents how the system is arranged logically, can divide it into modules, and look for errors in them using special techniques (for example, the interaction of web applications over the network)
  • an example of gray box testing is API testing, or verifying changes in the database
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is positive and negative testing?

A

*Positive testing involves executing test cases in a way where the user’s behavior does not go beyond expected results
* negative testing intends to show that the app can properly handle situations in which user behaves in a way they’re not supposed to - invalid inputs, unreasonable selection of settings, etc

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

Describe a bug

A

Mismatch between expected result (which comes from requirements) and actual result

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

Describe the levels of bug report priority

A
  • low - the defect can be fixed after the critical ones are fixed
  • medium - the defect should be resolved in the subsequent builds
  • high - the defect must be resolved immediately because it is affecting the app to a considerable extent and the relevant modules cannot be used until it is fixed
  • urgent - the defect must be resolved immediately because it is affecting the app severely and the product cannot be used until it has been fixed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do you write a bug report?

A

In my company, we use Jira as a bug report tool. There we create a new ticket and fill out textboxes:
* write the title
* fill out description including steps to reproduce, actual and expected behavior
* specify environment
* set priority
* set the assignee (if you know who owns that part of the app)
* attach screenshots, videos, or log files

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

What is the testing process/ life cycle?

A

Compilation:
* Test plan
* Test scripts
* Test cases
* Executing test cases
* Checking the results
* Bug reporting
* Bug tracking
* Bug closure
* Test release

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

What is a test case?

A

it is a detailed step-by-step set of instructions on how to test a certain feature or function

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

What does a test case contain?

A
  • Title
  • Preconditions
  • Steps
  • Expected result
  • Type - automated, needs automation, needs automation update, always manual
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When should you start the testing process?

A

Testing should begin from the inception of the project. Once you get the requirements baseline, the System testing plan and test case preparation should start. it also helps in exploring any gaps in the functional requirements

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

What are the characteristics of a good test case?

A

A good test case ensures that both positive and negative scenarios get covered. It is atomic, it does only one thing at a time and doesn’t overlap with others

  • title - clear and one-line to show the intent of the test case
  • purpose - brief explanation of the reason the test case is created
  • description - representation in words of the nature and characteristics of the test case
  • test objects - an unambiguous feature or module getting tested
  • preconditions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When should you stop the testing process?

A
  • test case execution - the successful completion of a full test cycle after the final bug fix marks the end of the testing phase
  • testing deadline - the end date of the validation stage also declares the closure of the validation if no critical or high-priority defects remain in the system
  • definition of done - suggests the exit criteria or condition when testers can mark a user story as complete.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Give an example of what can be done when a bug is found

A
  • The first thing I try to do is reproduce the bug multiple times
  • Once I can reproduce consistently, I will create a ticket with detailed steps to reproduce, the data that was used, which specific environment, and necessary screenshots

I would try to make sure the bug does not get rejected in the first place, to save time for QA managers and devs. If I’m not sure if it is a bug or not, I will talk to SME

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

Assume you have a test plan with over 1000 test cases. How do you decide what to automate and what to test manually?

A

I will focus on test case priority and feasibility of automation for the test case in question

there are other things that can make a difference
* The complicated scenarios are tedious and take a lot of time manual execution
* the test cases missed in the past
* the parts of the app that regression testing
* the test cases that are hard to automate
* the features that are still in development
* the test cases that are part of “exploratory” testing and assessing the user experience

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

What is risk management?

A

The process of identifying, assessing, and prioritizing the risks to minimize, monitor, and control the probability of unfortunate events

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

What should be included in a test strategy?

A

A plan for how to test the application and exactly what will be tested(UI, modules, processes, etc). It establishes limits for testing and indicates whether manual or automated testing will be used

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

What is a release candidate?

A
  • The build released internally to check if any critical problems have gone undetected into the code during the previous development period.
  • They are not for production deployment, but for testing purposes only
  • However, in most cases, there are no differences between the final build and the last release candidate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are the types of requirements

A
  • user requirements - a detailed description in natural language along with diagrams of the servie the system provides and its operational constraints. It is usually developed by end-users
  • system requirements - details the descriptions of the system’s functions, services, and operational constraints
  • functional requirements - describes the services of the system, how the system should react to particular inputs and how the system should behave in definite situations
  • non-functional requirements - describes the attributes of the system
  • domain requirements - requirements that arise from the domain of the application and that reflect characteristics of that domain. Can be either functional or non-functional specifications
18
Q

What is the bug lifecycle in your company?

A
  • bug found
  • bug verified
  • bug report filed
  • bug fix in progress
  • bug was fixed
  • bug fix verified or reopened (back to in progress)
  • bug fix released
19
Q

How do you test an application if the requirements are not available?

A

We have to do our best to gather as much information as possible from end-users, clients, and similar applications from competitors.

ex: if we are testing an e-commerce application without requirement we can analyze amazon to gather basic requirements and perform testing accordingly

20
Q

How can you tell when enough test cases have been created to adequately test a system or module?

A

When there is at least one test case to cover every requirement. But its still better to increase test coverage based on time/resource availability

21
Q

What can be done to develop a test for a system if there are no functional specifications or any system and development documents

A

Testers should familiarize themselves with all of the tickets that were used during the app development. It may also be helpful to perform research to find similar products on the market

22
Q

What is the difference between QA and testing?

A

Testing is about finding errors, QA is about preventing errors

23
Q

What is the difference between Quality Control and Quality Assurance?

A

While QC evaluates a developed product, the purpose of QA is to ensure that the development process is at a level that makes certain that the system or app meets requirements

24
Q

In which phase should testing begin - requirements, planning, design, or coding?

A

Testing should begin as early as the requirements phase

25
Q

What is the difference between debugging and testing?

A
  • Debugging is typically conducted by a developer who also fixes errors during the debugging phase
  • Testing on the other had, finds errors that fixes them. When a tester find a bug, they usually report it so that a developer can fix it
26
Q

How to deal with a non reproducible bug?

A

If the bug is not reproducible, we have to always take a screenshot of the issue and note it down. In the later testing process, we have to keep our eyes open to see if there is a way to reproduce the bug. Also, it is good to let colleagues know as well. They can keep their eyes open on that issue

27
Q

When do you choose automated testing over manual testing?

A
  • When the test cases are high priority test cases
  • if the functionality is a critical functionality
  • smoke test cases
  • If the test cases are too long and too difficult to execute manually. The regression test cases are based on priority.

We should automate as much as possible

28
Q

What are the key challenges of software testing?

A
  • app should be stable enough to be tested
  • testing always under time constraints
  • understanding the requirements
  • domain knowledge and understanding business user perspective
  • which tests to execute first
  • testing the complete requirements
  • changing requirements
29
Q

Where is the requirement coming from?

A

Usually from the product owner who is responsible for creating them

30
Q

how long will it take to run your regression suite?

A

For my company, if all the tests are manual, then about 3 hours. If they are automated, 10-30 minutes depending on if I run them on local or powerful CI/CD

31
Q

What do you automate first?

A

Regression tests and most repetitive tests and time-consuming tests

32
Q

Day work time

A
  • Check email and slack to see if there are any critical things I need to know about.
  • I start at 9:00 am and finish tasks I had from yesterday (writing test cases, automating them)
  • Morning standup at 10:30 is where everyone shares updates of what has been done yesterday, what are we planning to do today, and if anyone has any blockers
  • Then I proceed to ticket testing for the upcoming release. After release, I write test cases and automate them
33
Q

How often does release happen in your company?

A

We release every day at 3 pm

34
Q

SDLC in your company?

A
  • Planning
  • Analysis
  • Design
  • Development
  • Testing
  • Maintenance
35
Q

What language and tools do you use for automation in your company?

A

We use the cypress framework that is written in NodeJS with Mocha and Chai libraries which are test runner and assertion library accordingly. We use GitHub as a code repo and VS Code as an IDE

36
Q

What is dynamic testing?

A

Dynamic testing refers to analyzing code’s dynamic behavior in the software. In this type of testing, you have to give input and get output as per the expectation through executing a test case. You can run the test cases manually, or through an automation process, and the software code must be compiled and run for this

37
Q

What is static testing?

A

Static testing is an approach to testing the software application without executing the actual code. This is performed at the early stage of development to identify the issues in the projects documents in multiple ways, namely reviews, walkthroughs, and inspections

38
Q

What is definition of done

A

Definition of done suggests the exit criteria of an application delivery or the condition when testers can mark a user story as complete. There are various test levels incorporated in definition of done in Agile Software development

39
Q

What is end-to-end testing?

A

End-to-end testing is a type of testing that verifies the entire software application from start to finish, including all the systems, components, and integrations involved in the application’s workflow. It aims to ensure that the application functions correctly and meets the user requirements

40
Q

What is test design techniques?

A

By design we mean to create a plan for how to implement an idea and technique is a method for performing a task. So, Test Design is creating a set of inputs for given software that will provide a set of expected outputs. The idea is to ensure that the system is working good enough and it can be released with as few problems as possible for the average user.