QA Codemify (Manual) Flashcards
What is the QA?
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.
What’s the purpose of the testing process?
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.
What is a Test Plan?
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.
What is Test Design?
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.
What is Regression Testing?
Regression testing - is a partial testing of modified software to see if no new errors were introduced after the code change.
What Is Quality Control?
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.
Quality Control VS Quality Assurance
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.
What QA Engineers do?
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
What’s the purpose of the QA?
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.
Manual vs Automation Testing
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.
What is Test Case?
Test Case is a detailed instruction on how to test a particular feature or function, of an application.
Why do we need Test Cases?
- To keep track of what needs to be tested.
- To know what needs to be automated
Test case is the exact instruction you’ll use to automate your test cases.
Why do we need Test Cases?
- To keep track of what needs to be tested.
- To know what needs to be automated
Test case is the exact instruction you’ll use to automate your test cases.
What is Test Case Management System
They help to manage the test cases. For ex: TestRail, Qase.io - one of the most popular test case management systems in the world.
What is bug (software bug) ?
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.
What is a bug report?
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.
Quality bug report answers 3 questions! ????
- What?
What has happened with the application? - Where?
Where exactly in the application did we discover the bug?
What is the webpage and/or server (environment)? - Which circumstances?
Under which conditions a bug was found (was the user logged in? Etc)?
What is the Structure of a website bug report. Checklist:
- Title / Summary
- Steps to reproduce
- Actual / Expected results
- Visual proof: video, screenshots / Attachments
- Environment
- Console Logs
- Source URL
- Severity and Priority (if needed)
- Advanced info
What is SDLC (Software Development Life Cycle) ?
- Planning
Product team plans out product features or functionality needs to be created or updated based on : customer needs, customer request, market and competitors
- 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
- 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.
- Implementation
Developers create the product:
- Application
- Feature
- Updated functionality of existing product.
- 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.
- 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.
What are User Stories?
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?
Where does QA fit into SDLC?
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.
What is the first stage of SDLC?
The first stage of SDLC is Planning!
What happens during the analysis step?
Product owners analyze goals and create requirements for every piece of the application
What happens during design phase?
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.