QA Engineering
SDLC Phases
1. Planning 2. Analysis 3. Design 4. Development 5. Testing 6. Deployment 7. Maintenance
Scrum Master
A person who ensures that the team is productive, facilitates the daily Scrum, enables close cooperation across all roles and functions, and removes barriers that prevent the team from being effective
Software Bug
A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Sprint
A sprint is a short, time-boxed period when a scrum team works to complete a set amount of work. Sprints are at the very heart of scrum and agile methodologies, and getting sprints right will help your agile team ship better software with fewer headaches.
Acceptance Testing
ACCEPTANCE TESTING 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.
API
API (Application Programming Interface) It's a way for different computer programs to talk to each other and share information. APIs make it easier for developers to create new software applications that work together seamlessly.
WEB ELEMENT: Containers
Accordians
Agile
Agile is an approach to project management and software development that delivers work in small consumable increments. Agile evaluates requirements, plans and results continuously so teams can respond to changes quickly.
HTML Element
An HTML element usually consists of a start tag and an end tag, with the content inserted in between: <tagname>Content goes here...</tagname>
Back End Testing
Back-end testing involves testing the functionality, reliability, and performance of the software application's back-end components, including the server, database, and APIs. This type of testing ensures that the application can handle large volumes of data, processes data correctly, and responds appropriately to user requests.
Black Box Testing
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. How to do Black Box Testing? 1. Read requirements. 2. Based on requirements execute positive steps, valid inputs. It also called "Happy path". 3. Execute negative steps, invalid inputs. It's also called the "unhappy path". 4. Check results. Compare the actual results with the expected results.5. Create a bug report if something is broken or unexpected.
Bug Triage
Bug triage is a process where each bug is prioritized based on its severity, frequency, risk, etc. Triage term is used in the Software testing / QA to define the severity and priority of new defects.
CSS
CSS is an acronym for Cascading Style Sheets. It is used to format what has been written in HTML. It shows the appearance of a document created with HTML. It saves a lot of work by controlling the layout of multiple web pages all at once.
Input Controls
Checkboxes, radio buttons, dropdown lists, list boxes, buttons, toggles, text fields, date field
Dev Tools
Chrome DevTools is a set of web developer tools built directly into the Google Chrome browser. DevTools can help you edit pages on-the-fly and diagnose problems quickly, which ultimately helps you build better websites, faster.
Compatibility Testing
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.
Confluence
Confluence is Atlassian's content collaboration tool used to help teams collaborate and share knowledge efficiently. With confluence, we can capture project requirements, assign tasks to specific users, and manage several calendars at once with the help of Team Calendars add-on.
What are the most common DevTools tabs used in QA?
Console & Network
Cross-Browser Testing
Cross-Browser Testing is simply what the name suggests - test your website or application in multiple browsers
End-to-End Testing
END-TO-END TESTING 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.
E2E Testing
End-to-end testing is a technique used to test whether the flow of an application is behaving as expected right from start to finish. The purpose of performing end-to-end testing is to identify system dependencies and to ensure that the data integrity is maintained between various system components and systems.
Equivalence Partitioning
Equivalence partitioning is a technique used to divide the input domain of a software application into partitions or subsets that are equivalent in terms of how the software application should handle them.
Boundary Value Analysis
For example, suppose a software application accepts an input value that must be between 1 and 100. In this case, boundary value analysis would involve testing the software with input values of 1, 2, 99, and 100, as well as values just below and above those limits, such as 0, 101, and 102.
Front End Testing
Front-end testing involves testing the user interface (UI) and user experience (UX) of a software application, including the layout, design, responsiveness, and functionality of the application's front-end components. This type of testing ensures that the application is easy to use, visually appealing, and performs as expected for the end-user.
Functional Bugs
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.
Functional Testing
Functional Testing is a type of software testing that verifies that each function of the software application, operates in conformance with the functional requirements.
Gherkin Style
Gherkin is a plain-text language with a simple structure. It is designed to be easy to learn by non-programmers, yet structured enough to allow concise description of test scenarios. The main keywords used are as follows: GIVEN WHEN THEN AND
Gray Box Testing
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.
Grooming
Grooming is an open discussion between the development team and the product owner. The user stories are discussed to help the team gain a better understanding of the functionality that is needed to fulfill a story. This includes design considerations, integrations, and expected user interactions.
HTML
HTML is an acronym for Hypertext Markup Language. It is a standardized markup language that is used to build websites, it is used to describe and setup how a web page will be rendered by a browser (the visuals you will see). HTML describes the structure of a Web page and consists of a series of elements. Elements tell the browser how to display the content and are represented by tags. Tags label pieces of content such as "heading", "paragraph", "table", and so on.
Integration Testing
INTEGRATION TESTING 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.
Story Points
In simple terms, a story point is a number that tells the team about the difficulty level of the story. Each Story Point represents a normal distribution of time. For example: 1 Story Point could represent a range of 4-12 hours, 2 Story Points 10-20 hours and so on.
JQL
JQL stands for Jira Query Language and is the most powerful and flexible way to search for your issues in Jira. JQL is for everyone: developers, testers, agile project managers, and business users.
Load Testing
Load Testing is 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.
Localization testing
Localization testing 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.
Mind Map
Mind-mapping is a method of data structuring with the help of visualization: graphics chart. It usually has tree-like connections with the key element in its center.
Negative Testing
Negative testing, on the other hand, is a testing technique that focuses on testing the software application using invalid input data and verifying that the software handles the input correctly and produces the expected output. The goal of negative testing is to ensure that the software application is robust and can handle unexpected or invalid input data, such as incorrect or missing values.
Performance Testing
Performance Testing is 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.
Positive Testing
Positive testing is a testing technique that focuses on testing the software application using valid input data and verifying that the software produces the expected output. The goal of positive testing is to ensure that the software application works correctly and meets the specified requirements when provided with valid input data.
Regression Testing
Regression testing is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features.
System Testing
SYSTEM TESTING 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.
Scrum
Scrum is a framework not a methodology. It helps teams deal with unpredictability while solving complex problems. It encourages teams to self organize and learn through their experiences.
SEO
Search Engine Optimization involves making certain changes to your website design and content to make your site more attractive to a search engine. You do this in hopes that the search engine will display your website as a top result on the search engine results page.
Security Testing
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.
Severity vs Priority
Severity refers to the impact of a defect on the system's functionality or the user's ability to perform tasks. It is usually assigned as high, medium, or low, based on the severity of the issue. Priority, on the other hand, refers to the relative importance or urgency of fixing a defect based on its impact on the business or project objectives. Priority is usually assigned as high, medium, or low, based on the urgency of the issue
Smoke Testing
Smoke Testing is a kind of software testing performed after a software build to ascertain that the critical functionalities of the program are working fine.
Smoke Test Suite
Smoke test suite combines a number of smoke tests into a small suite of tests so that when the application is ready to deliver to staging or pre-production, developers will know in a matter of minutes whether the latest version of their application is ready for further QA and review.
Stress Testing
Stress Testing is 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.
Test Scenario
TEST SCENARIO is defined as any functionality that can be tested. It is also called Test Condition or Test Possibility. As a tester, you may put yourself in the end user's shoes and figure out the real-world scenarios and use cases of the Application Under Test. EX: Test scenario for user registration: Preconditions: User is not registered and is on the registration page Actions: Fill in all required fields with valid data and submit the form Expected outcomes: User should be registered successfully and be able to login with the provided credentials
Test Plan
Test Plan document is usually prepared by the Test Lead or Test Manager and the focus of the document is to describe what to test, how to test, when to test, and who will do what test.
Requirements
The software requirements are a description of the features and functionalities of the target system. Requirements convey the users' expectations of the software product.
Unit Testing
UNIT TESTING 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.
UX/UI Bugs
UX/UI bugs are software bugs that affect the user experience (UX) or user interface (UI) of a software application. These bugs can impact the usability, functionality, or aesthetics of the application, which can lead to a negative user experience.
White Box Testing
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.
Software Development Life Cycle (SDLC)
a process used by the software industry to design, develop and test high-quality software.
Test Case
a set of such well-designed and easy understandable steps (actions) executed to verify a particular feature or functionality of your software application. Keep in mind "well-designed" and "easy to understand".
Accessibility Testing
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.
User Story
a user story is an informal, natural language description of one or more features of a software system. A user story is a tool used in Agile software development to capture a description of a software feature from an end-user perspective.
Ad Hoc Testing
also known as Random Testing or Monkey Testing, is a method of software testing without any planning and or documentation. The tests are conducted informally and randomly without any formal procedure or expected results.
WEB ELEMENT: Navigational Components
breadcrumb, slider, search field, pagination, slider, tags, icons
JavaScript
language used to add special effects to a website
Priority
the relative importance or urgency assigned to a software defect or issue, based on its impact on the system's functionality or business objectives. The priority level of a defect helps determine the order in which it should be fixed or addressed.
WEB ELEMENT: Informational Components
tooltips, icons, progress bar, notifications, message boxes, modal windows