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.