Requirement Traceability Matrix (RTM)
is a document, table that maps and traces user requirements with test cases. To demonstrate the relationship between requirements and other artifacts. Documents such as test results
Detail Design Document
formally record the design of the content, the lessons or modules and all the deliverables necessary. The detailed design document records the design of content.
Define Software Development Life Cycle
providing bug and defect free software and making sure it is bult to our clients needs and expectations
Design in SDLC
the agile team works to finalize and design the UI/UX flow for the product
What is the MAIN PURPOSE OF THE RTM?
that no functionality is unchecked during Software Testing (has been fulfilled).
What does a QA Tester do?
Quality Assurance Test and Evaluate new and existing programs to identify and help remove bugs, glitches, and other user experience issues.
What are the SIX PHASES of Software Development LifeCycle?
Analysis Design Develop Testing Development Maintenance
S.T.L.C
Analysis Test Planning Test Design Environment Set Up Test Closure
Program Manager
Manages the project and prepare the project plan -+
Product Manager/Subject Matter Expert (SME)
This person knows EVERYTHING about the software such as how it should work. This is the person to go to for clarification on functionality or expectations.
QA Tester, QA Analysts, Software Test Engineer
The QA Tester test the application by testing its functionality performance and security throughout the software testing life cycle (STLC).
Developer/ Programmer
The developer is responsible for developing the software by writing it in computer code
QA Automation Engineer
This person automates the testing process using tools such as Katalon, Selenium, or any automation tool.
QA Manager
The Quality Assurance (QA) Manager will oversee the activity of the quality assurance department and staff, developing implementing, and maintaining a system or quality and reliability testing for the organizations products and/or development processes.
UAT
User Acceptance Tester serves as the final round of testing a new product (software, app, website, or device.) They ENSURE the product is ready for final users by developing test plans and conducting thorough testing.
UAT Tester are also known as
beta testing, application, or end-user testing.
Application Under Test (AUT)
After the designing and coding section of the development cycle, when the application (build) comes under testing then at the time application state is under test at that time period that application (build) is called “AUT”
Requirements
What the clients want the system to do. A Primary requirement needed in the development of a software product specifically for a targeted group or audience and the specific environment.
User Requirement
These requirements are gathered using use cases, user scenarios, and user stories and are documented in a user requirement document format (User Story).
System Requirements
incorporated in a software product to make it perform and function in a specific manner to achieve its target and goal
Functional (System)
DEFINES and DESCRIBES the functions to be performed, and features to be possessed by a software.
Non-Functional (System)
Used to EVALUATE and ASSESS the software product behavior under unexpected conditions and environment
A Use-case is a description of
the ways in which a user interacts with a system or product Use Case may establish the success scenarios, the failure scenarios, and any critical variations or expectations. May be written or made visually with the e help of a use-case model tool. (BA usually creates this document)
End-User
a representative consumer for whom a hardware or software product is designed
User stories are often expressed in a simple sentence, structured as
"As a [persona]. I [want to], [so that]."
"As a [persona]"
Who are we building this for? We're not just after a job title, we're after the persona of the person. We should have an understanding of how that person works, how they think, and what they feel based on their interview.
"Wants to"
Here we're describing heir intent- not the features they use. What is it they're actually trying to achieve? This statement should be implementation-free. if you're describing any part of the UI and not what the USER GOAL is, you're missing the point.
"So what"
How does their immediate desire to do something this fit into their bigger picture? What's the overall benefit they're trying to achieve? What is the big problem that needs solving?
Test Plan includes
a product description, testing strategies, scope, schedule, procedures, testing resources, and deliverables
Why is a test plan important in developing?
plans are essential in the development of software as they outline what testing needs doing to ensure the software is up to standard and is working exactly how it should
SEVEN STEPS to create a TEST PLAN as per IEEE 829
Analyze the product Design the Test Strategy Define the Test Objectives Define Test Criteria Resource Planning Plan Test Environment Schedule & Estimation Determine Test Deliverables
Test Plan
Document derived from describing scope of testing and activities to be performed
Test Strategy
A high-level document describing the way testing is carried out Is a plan for defining an approach to the STLC
Guides QA teams to define Test Coverage and Testing Scope
A Traceability Matrix is
a document that co-relates any two baseline documents that require a many-to-many relationship to check the completeness of the relationship
It is used to track the requirements and to check the current project requirements are met.
Test Case
is a set of actions executed to verify a particular feature or functionality of your software application It contains test steps, test data, preconditions, and postconditions developed for specific test scenarios to verify any requirement
The test case includes
specific variables or conditions, using which a testing engineer can compare expected and actual results to determine whether a software product is functioning as per the requirement of the customer
test scripts in software testing are
clear statements that are used to test the compliance of a requirement during the testing phase; test scripts should be used in all regions where code resides (e.g., development to unit testing to system testing to user acceptance testing to production)
Test Steps
Describe the execution steps and expected results that are documented against each one of those steps. Each step is marked pass or fail based on the comparison result between the expected and actual outcome
Definition of Done (DoD)
is when all conditions or acceptance criteria, that a software product must satisfy are MET and ready to be accepted by a user, customer, team, or consuming system It lowers rework, by preventing user stories that don't meet the definition from being promoted to higher level environments.
Application Under Test (AUT)
after the designing and coding section of the development cycle, when the application (build) comes under testing then at that time application state is under test, so at that time period that application (build) is called "Application Under Test."
Test Data
any data used during testing Real Data, Fake/dummy data
Demo
is to demonstrate or a presentation of any work completed before going live
hotfix
is a software patch that is applied to "hot" aka LIVE systems for us developers, this usually means that it's a change that was made quickly and outside of the normal development processes, as an urgent measure against certain issues that need to be fi immediately
Critical Priority
is how quickly/soon a bug should be fixed and eradicated from the website Bug priority for dealing with a bug on out website
Low - Medium - High
What is Software Testing?
is the process of evaluating and verifying that a software product or application does what it is supposed to do.
What are the benefits of Software Testing?
Preventing bugs, reducing development costs, and improving performance
What does a QA Tester Do?
tester play a critical role in delivering high quality, perfectly functioning software and web applications to customers.
They test and evaluate new and existing programs to identify and help remove bugs, glitches and other user experience issues.
What is Quality Assurance?
to assure the quality of an application or software, by testing its functionality, performance, and security throughout the Software Development Life Cycle (SDLC), providing a bug and defect free software and making sure it is built to out client’s needs and expectations.
What is a Software Bug?
is an error, flaw or fault in a computer program or system that causes it ti produce an incorrect or unexpected result, or to behave in unintended ways.
Define Software Development Life Cycle
providing bug and defect-free software and making sure it is built to our client’s needs and expectations
What is Software Testing Lifecycle?
is a sequence of specific actions performed during the testing process to ensure that the software quality objectives are met. The STLC includes both verification and validation
test scenario
is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system.
Test Cases
is a set of actions executed to verify a particular feature or functionality of your software application.
A Test Case contains…
test steps, test data, preconditions, and postconditions developed for specific test scenarios to verify any requirement.
It also includes specific variables or conditions. A testing engineer can compare expected and actual results to determine whether a software product is functioning per the customer's requirements.
Defect Bug
A bug is the informal name of defects, which means that software or application is not working as per the requirement.
graphical User Interface (GUI)
is a type of user interface through which users interact with electronic devices via visual indicator representations
showstopper
A bug that prevents you from any further testing
Severity
how dangerous a bug is rated Low- Minor , Major - Critical
Artifacts
It’s anything that is created so a piece of software can be developed. This might include things like data models, diagrams, a setup scripts.
Types of Test Artifacts
Test Strategy, Test Plan, Test Scenario, Test Case, Traceability Matrix, Software Test Report
ETL - Extract Transform Load
These are 3 database functions that are combined into ONE tool to extract data from a database modify it, and place it into another database.
code freeze
is a period time in which developers stop coding any changes to a website.
what are the types of requirements?
Business Requirements, User Requirements, System Requirements, Design Requirements.
Business Requirements
These requirements outline a general overview of a product such as it’s primary use, why it is needed, its scope and vision, what business benefits will be gain, intended audience or users, etc.
Design Requirement
how the design functions for the appliccation, how the fonts / buttons look like
Release Notes
refers to the technical documentation produced and distributed alongside the launch of a new software product or a product update (e.g., recent changes, features enhancements, or bug fixes). It very briefly describes a new product or succinctly details specific changes included in a product update.
verification
is a process of determining if the software is designed and developed as per the valid specified requirements.
validation
is the process of checking if the software (end product) has met the client’s true needs and expectations.
test environment
is any space in which software/hardware undergoes a series of test cases/'experimental uses. Testing is essential to any software development methodology.
it supports test eeewith hardware, software, and network configures
Dev Environment
is the location of the main branch of a software application. This is where developers spend time writing the first lines of code. From here, an application transforms from concept (on paper) into MVP (minimum viable product).
QA Environment
meets the minimum requirements for your application to function.
UAT / Staging Environment
staging is when you create an instance of an application that you’re confident enough to show the immediate owner (sponsor) but not users.
Need to run more test
-is meant to simulate production as much as possible.
Live / Production Environment
as an end-user, when you use a web or mobile application, the application is running on a production server.
Examples of Test Data
Credit Card information, dummy account, login/password
Example of Database Server
MySQL, Oracle DB
Example of Client Operation System
Windows, IOS, Android, MAC
Example of Browser
Chrome, Firefox , Safari, IE
Hardware includes Server Operating System Example
Windows, Linus, Ubuntu
Network Example
LAN, Cellular, WiFi
Documentation required for a test environment
reference Documents/configuration guides/ installation guides/ user manuals
Use Case
is a description of the ways in which a user interacts with a system or product.
-may establish the success scenarios, failure scenarios, and any critical variations or exceptions.
-can be written or made visual with the help of a use case model tool.
-B.A. usually create this document
User Story
is an informal general explanation of a software feature written from the perspective of the end-user or customer.
How are user story expressed?
in a simple sentence, structures as “As a [persona], I [want to], [so that].”
Acceptance Criteria
lets you define when your user story is complete and when a user story has all the functionality needed to meet your user’s need
-provides detailed scope of the user story and what is needed so your team can understand what they’re up against.
-has conditions that a software product must satisfy to be accepted by a user or system level functionality.
Acceptance Criteria Format
The Given-When-Then formula is a template intended to guide the writing of acceptance tests for a User Story.
(Given)
some context
(When)
some actions is carried out
(Then)
a particular set of observable consequences should abtain
An Example for Acceptance Criteria Format
-Given my bank account is in credit, and I made no withdrawals recently.
-When I attempt to withdraw an amount less than my card’s limit
-Then the withdrawal should complete without errors or warnings
(user story: As a User, I can withdraw money with a credit on my account)
Why is a Test Document an important document for QA teams?
The document is derived from actual business requirements that guide the whole team about the software testing approach and objectives for each activity in the software testing process.
What is the main purpose of the Requirement Traceability Matrix (RTM)?
to validate that all requirements are checked via test cases such that non functionality is unchecked during Software Testing.
Before testing Phase Software Testing Documents/Artifacts/ Deliverables
-Test Plans / Strategy Document
-Test Cases Documents/ Business Requirements
-Test Design Specification
During Testing Phase Documents / Artifacts / Deliverables
-Test Scripts
-Simulators
-Test Data
-Test Traceability Matrix
-Defect Reports
-Test Case Design
After Testing Phase Documents/ Artifacts/ Deliverables
-Test Results/ Reports
-Defect Reports
-Installation/ Test Procedure Guidelines
-Release Notes
-Test Closure
What is Functional Testing?
is a type of testing that verifies that EACH function of the software application operates in conformance with the requirement specification.
-black box testing, and it is not concerned about the source code of the application
What is Non-Functional Testing?
is a type of testing to check non-functional aspects (performance, usability, reliability, etc.) of a software application.
Designed to test the readiness of a system as per nonfunctional parameters which are never addressed by functional testing.
how can function testing be done?
manually ot using automation
Examples of Graphical User Interface (GUI)
mobile app. , online websites, mobile web browser
Examples of functional testing types
-smoke testing
-user acceptance
-integration testing
-regression testing
-end to end
examples of non-functional testing types
-Performance Testing
-Load Testing
-Security Testing