QA Codemify (Manual) Flashcards

1
Q

What is the QA?

A

QA is A PROCESS TO VERIFYING THAT THE SOFTWARE IS UP TO REQUIREMENTS

But QA job is not limited to testing only. QA also aims at preventing bugs, by adding or updating existing processes.
A good QA system increases trust in a company, customer assurance in products, improves workflow performance, and offers a real competitive edge.

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

What’s the purpose of the testing process?

A

Lower development costs!

The cost of defects discovered in the early stages is
significantly lower than the cost of the ones
discovered after the release.

Facilitate the development process

QA engineers who are involved in development from
the beginning can positively influence important
development decisions, anticipate errors and bugs,
and propose working solutions to avoid them.

Create a polished product

The main goal of a quality assurance team is to help
to develop a smooth-running product to provide
customers with the best possible user
experience.

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

What is a Test Plan?

A

A test plan is a document that a QA team
creates in collaboration with the development
team.

When developing a test plan, a QA team
determines the scope of testing, resources
required, testing environments, testing
objectives, main suspension and exit criteria,
test results, and a testing schedule.

A test plan is one of the essential documents required for a
successful QA testing process. This allows you to:

make sure the final product satisfies your business needs. A test plan
includes all requirements for a product and lists testing activities
that will ensure that the product meets all of these requirements.
Set realistic time frames. A QA team evaluates the scope of work
and includes it in a test plan along with the time frame, cost, and
schedule of all testing activities.

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

What is Test Design?

A

Once the scope of work and all requirements are clearly defined, the QA team can begin designing test cases or checklists.

Test cases describe test inputs, execution conditions, and expected results for each test to verify the functionality of a software product. Test cases allow quality assurance engineers to carry out a sequence of steps to guarantee that a software product relatively bug free and performs as expected from the end-user perspective.

A checklist is a simplified variant of test cases that covers all possible actions a user can take within a piece of functionality. Compared to test cases, checklists are taking less time to create and deploy.

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

What is Regression Testing?

A

Regression testing - is a partial testing of modified software to see if no new errors were introduced after the code change.

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

What Is Quality Control?

A

Quality control (QC) is a process by which a company wants to ensure that product quality is maintained or improved.

Quality control requires the company to create an environment in which both management and employees strive for excellence.
This is achieved by training personnel, creating benchmarks for product quality, and testing products for statistically significant modifications.

An important aspect of QC is the establishment of well-set controls. These controls help standardize both production and response to quality problems.

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

Quality Control VS Quality Assurance

A

Sometimes, QC is mixed up with QA. Quality Control consists of examining a product or service and checking the result processes.

Quality Assurance is about examining the processes and applying changes to those that have caused an issue or could potentially cause one.

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

What QA Engineers do?

A

QA Engineers make sure that the quality of the application is up to the requirements. They create processes that aim for bug prevention and early detection. The earlier bug is found, the cheaper it is to deal with it.

  • testing software
  • filing bug reports
  • verifying bug fixes
  • automate test cases
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What’s the purpose of the QA?

A

When developing a small project or creating an MVP to validate a business idea, some startups assume quality checks developers perform are sufficient.
As a result, teams like these get stuck in infinite bug fixes with a product that is impossible to maintain, support, or develop further.

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

Manual vs Automation Testing

A

Manual testing is performed by hand.

Quality Assurance (QA) specialists ensure that applications work as expected by adhering to the conditions recorded in the test cases.

Despite its primitiveness, manual testing is still important because some functions simply cannot be tested automatically. For example, wearables and mobile devices may require field testing in a physical environment.

Mobile applications often go through ‘monkey tests’ that detect bottlenecks in unforeseen stressful conditions.
For instance, what happens if a user leaves a mobile device in their pocket with an application running and accidentally touches the screen?

Is it possible for the application to crash? Only manual testing can take these scenarios into account.

Automated testing relies on pre-scripted tests that are run automatically.

Their purpose is to compare actual results with expected ones. This way, they can determine if the application is working as expected.
Automated testing can perform repetitive tasks and regression tests to check if an application is working properly after recently implemented changes.

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

What is Test Case?

A

Test Case is a detailed instruction on how to test a particular feature or function, of an application.

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

Why do we need Test Cases?

A
  1. To keep track of what needs to be tested.
  2. To know what needs to be automated

Test case is the exact instruction you’ll use to automate your test cases.

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

Why do we need Test Cases?

A
  1. To keep track of what needs to be tested.
  2. To know what needs to be automated

Test case is the exact instruction you’ll use to automate your test cases.

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

What is Test Case Management System

A

They help to manage the test cases. For ex: TestRail, Qase.io - one of the most popular test case management systems in the world.

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

What is bug (software bug) ?

A

A software bug is an error, flaw, failure, or malfunction in a computer program or system that causes it to produce an incorrect or unexpected result or to behave in unexpected ways.
A software bug is something that is not working as intended.

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

What is a bug report?

A

A bug report is a detailed report that describes an issue, and clearly specifies steps of reproduction. The report lists causes, or encountered errors, pinpoint exactly what is considered wrong.

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

Quality bug report answers 3 questions! ????

A
  1. What?
    What has happened with the application?
  2. Where?
    Where exactly in the application did we discover the bug?
    What is the webpage and/or server (environment)?
  3. Which circumstances?
    Under which conditions a bug was found (was the user logged in? Etc)?
17
Q

What is the Structure of a website bug report. Checklist:

A
  1. Title / Summary
  2. Steps to reproduce
  3. Actual / Expected results
  4. Visual proof: video, screenshots / Attachments
  5. Environment
  6. Console Logs
  7. Source URL
  8. Severity and Priority (if needed)
  9. Advanced info
18
Q

What is SDLC (Software Development Life Cycle) ?

A
  1. Planning

Product team plans out product features or functionality needs to be created or updated based on : customer needs, customer request, market and competitors

  1. Analysis

Engineering team analyzes those rough goals the product team just came up with and splits them into:
- documented requirements
- creates technical and functional tasks for devs to implement it

  1. Design

Design team comes up with a design to the product and every aspect of the application. It also creates tasks for developers to implement the design in the following phase.

  1. Implementation

Developers create the product:
- Application
- Feature
- Updated functionality of existing product.

  1. Testing

QA Team verifies all of the tasks have been successfully implemented.
If not, bug reports will be created and developers will fix them. Very often, from this phase team will return to IMPLEMENTATION phase, so devs have enough time to fix the bugs that were found.

  1. Release & Maintenance

Release means application is finally going out to production. Customers will be able to see it and play with it. Maintenance means this loop starts again.

19
Q

What are User Stories?

A

User stories are a part of the planning phase. These are what users want to see and what to get in an application. What functionality and features do they want to see?

20
Q

Where does QA fit into SDLC?

A

Ideally, QA should be involved as soon as possible, in the analysis phase, in the design planning phase, and into the testing and release phase.

21
Q

What is the first stage of SDLC?

A

The first stage of SDLC is Planning!

22
Q

What happens during the analysis step?

A

Product owners analyze goals and create requirements for every piece of the application

23
Q

What happens during design phase?

A

Designers and developers come up with architecture and visual design for the application, which will specify how exactly all parts of the application will communicate and how pages will look like. Ticket created for the next stage.

24
Q

What happens during implementation phase of SDLC?

A

Developers create application based on the requirements and pass the first version of it to the QA team.

25
Q

What happens during testing phase of SDLC?

A

Finally, the testing phase begins, and QA team loops through the tickets, runs regression testing, files all of the bugs, and asks devs to fix the most critical ones depending on the timeline.

26
Q

What happens during release/maintenance phase?

A

Application is getting deployed(User can finally see it). Then our loop starts again but now we don’t create new application, but rather add new features to existing application.

27
Q

check_circleWhere does QA fit into SDLC?

A

This is very subjective question, as different companies look at it differently. I think QA needs to be involved as soon as possible.

28
Q

How soon do you think QA needs to be involved into SDLC?

A

The sooner, the better, but based on my experience, the QA team doesn’t have time to be involved in every phase of SDLC. But ideally, I would like to see QA taking part of the Analysis phase.

29
Q

How soon do you think QA needs to be involved into SDLC?

A

The sooner, the better, but based on my experience, the QA team doesn’t have time to be involved in every phase of SDLC. But ideally, I would like to see QA taking part of the Analysis phase.

30
Q

Why would we add QA to Analysis?

A

To prevent missing/broken flows, and think of cases we need to account for, such as negative, edge cases etc.

31
Q

What is STLC (Software Testing Life Cycle) ?

A
  1. Planning

QA Team starts with reading requirements to fully understand the features of the product.
After reading all requirements, QA team starts coming up with a test plan, which is usually written by QA Lead or a QA manager, and will contain answers to the following questions:
- what needs to be tested?
- how does it need to be tested?
- when it needs to be tested?
- who will test it?
- how much it is going to cost?

That is how the QA Team creates a TEST PLAN!

  1. Test Design Phase

QA team starts creating test cases based on requirements they just went throgh in a planning phase.
Those test cases are saved into a test case management system for the future use and for the reporting.

  1. Test Environment Setup.

After test cases have been written QA devops, or development team members will set up an environment so the QA team could start testing application in the following phse.

  1. Test Execution Phase

QA team runs all the test cases, all the types of testing that were planned during the planning phase.
They would file all of the issues, also known as the bug reports, into the bug tracking system, so developers would know what needs to be fixed in the future.

  1. Test Reporting Phase.

QA lead or manager will create a report based on multiple metrics such as:
- how many bugs were found
- how long did it take devs to fix them etc…

QA team afterwards will gather and analyze:

32
Q

What is the SDLC?

A

The Software Development Life Cycle (SDLC is a structured process that allows the production of high-quality, low-cost software in the fastest time of production possible.

The SDLC compliance increases development speed and minimizes project risks and costs associated with alternative manufacturing techniques.

33
Q

What is Agile methodology?

A

The agile methodology allows:

  • for continuous release cycles, each with small, incremental changes from the previous release.
  • at each iteration, the product is tested.
  • helps teams identify and solve SMALL problems in projects before they develop into bigger problems.
34
Q

What realease (or deployment) is?

A

The process of pushing application to production.

35
Q

How often does release happen?

A

There is no standard timeline, every company sets their own release time periods

36
Q

What is Agile?

A

Agile is a faced paced changing environment, where things are allowed to change rapidly (instantly)

37
Q

What is Waterfall?

A

Waterfall is mostly used by institutions like the government, the army, banks, and so on. It is not as flexible as Agile, since things are planned ahead of time.

38
Q

What is SCRUM?

A

SCRUM - is a software development framework which helps to organize your teamwork, and make it structured and efficient.

We can think of it as a set of meetings, which self-organizes all of your team.

39
Q

What is the difference between Agile and Waterfall?

A

Agile- is a fast paced changing environment where the scope can change at any time.

On the other hand,

Waterfall - avoid scope changes after the project starts.