
What is Software Testing? Role of Software Tester
Discover What is Software Testing? Role of Software Tester in ensuring quality, finding bugs, and validating software functionality for reliable user experiences.
What is software testing?
Software testing can be stated as the process of verifying and validating the Application to check that it is working as per User Requirements/expectations.
The process checks whether the actual software matches the expected requirements and ensures the software is bug-free.
The Scope of software testing often includes analyzing as well as executing it under various conditions: does it do
What is it supposed to do?
The goal of the testing team is to find issues as early as possible and make sure that they get fixed
What is Verification?
Involves reviewing and evaluating documents and artifacts to ensure that the software is being developed correctly and completely
Are we building the product right?
Deliverables of each phase of SDLC are reviewed to find issues/ defects.
Verification is manual, except for code review tools can be used.
It's static testing as the Application is not executed (the Application is still being developed)
Helps in finding the issues/ defects and its location.
Documents reviewed are :
▪ System Requirements Specification(SRS) ▪ Architecture Plan
▪ Module-level design
▪ Program Specification
▪ Screen Design
▪ UI architecture
▪ Codebase
Verification Process:
✓Read the Review Document
✓Identify issues/defects
✓Document the issues and track them
✓ The creator of the Review should take the necessary action for closure
✓Track the closure of reported issues
Verification Techniques
Reviews:
– Peer review
– Lead (Superior) review
– Inspections
– Walkthroughs
What is Validation?
This focuses on the end product and aims to verify that the software fulfils the customer's needs and expectations
Are we building the right product?
The process of evaluating software during or at the end of the development
process to determine whether it satisfies specified requirements.
Checks that the software being developed satisfies all functional requirements
Involves execution of a program or system component e.g. Various levels of testing
Its Dynamic testing as the application is executed.
Validation starts (after coding) once the Verification process is completed.
Levels of Testing
Unit Testing
Integration Testing
System Testing
User Acceptance Testing(UAT)
Why is testing necessary?
➢Cost Effective
➢Quality Product
➢Low Failure
➢Bug-Free Application
➢Security
➢Early Defect Detection
Explore Other Demanding Courses
No courses available for the selected domain.
Test Team Roles and Responsibilities:
Test Manager
➢Creation of Test Strategy
➢Effort Estimation
➢Monitor and control Cost, Schedule, Resource, and Communication
➢Resource Management
➢Resource identification, onboarding
➢Stakeholder and communication management ➢Update Test status, RAIDs
➢Review and Approve Test Plan
➢Acquire Test Environment
Test Lead
➢Technically lead the Testing team
➢Create Test Plan
➢Get Test Plan approved from Test Manager ➢Circulate Test plan with stakeholders and get their sign-off
➢Manage day-to-day Test Activities
➢Task allocation
➢Closely monitor daily test progress and Test Schedule
➢Review Test Results
➢Handle communication with the Development team
Test Engineer
➢Create Test Scenarios
➢Create Test Cases for each scenario
➢Create Requirements Traceability Matrix(RTM) ➢Create Test Data
➢Execute Test Case
➢Log Defects
➢Track Defects till closure
What exactly does a software tester do?
A software tester plays a crucial role in the software development process by ensuring that applications and systems function correctly and meet specified
requirements.
Here are the primary responsibilities and tasks of a software tester:
Key Responsibilities
Test Planning:- Develop test plans and test cases based on software requirements and design specifications. Identify testing objectives and determine the scope of testing.
Test Design
Best Practices of Test Design
Design Test cases which are
Accurate: Tests what it is expected to test
Economical: Is just right in terms of details
Traceable: Traceable to a requirement
Appropriate: For the test environment
Self-standing: Independent of the author
Use Test Data Techniques
Test Execution:- Execute manual and automated tests to verify the functionality, performance, and reliability of the software. Perform regression testing to ensure that new code changes do not adversely affect existing functionality.
Defect Reporting:- Identify, document, and report defects or issues found during testing. Collaborate with developers to reproduce issues and ensure they are resolved.
Test Automation:- Create and maintain automated test scripts using testing frameworks and tools. Optimize and improve existing automated tests to enhance
efficiency
Performance Testing:- Conduct performance, load, and stress testing to evaluate how the application behaves under various conditions.
User Acceptance Testing (UAT):- Assist in coordinating UAT with end-users to ensure the software meets their needs and expectations.
Documentation:- Maintain detailed documentation of test results, test cases, and testing procedures. Provide clear and concise reports on testing progress and outcomes.
Collaboration:- Work closely with developers, product managers, and other stakeholders to understand requirements and provide feedback.
Participate in Agile ceremonies, such as sprint planning and retrospectives, if working in an Agile environment.
Testing Principles, Guidelines for new testers
The seven principles of testing
➢Testing shows the presence of defects
➢Exhaustive testing is impossible
➢Early testing
➢ Defect clustering
➢pesticide paradox
➢Testing is context-dependent.
➢ Absence of errors is a fallacy.
What makes a good tester?
✓Technical Skills
✓Curiosity
✓Analytical Thinking
✓Communication
✓Reporting
✓Risk Assessment Ability
✓Time Management
Daily routine of a tester
Some of the key tasks, however, that are done on a day-to-day basis include:
➢Gather requirement specifications
➢Documentation
➢Touch base with developers
➢Write test conditions and test cases
➢Run test cases (manual, automated, or both) ➢Discover bugs and report
➢Retest
Demand for tester jobs in the current market.
The software testing industry across the UK is flourishing (developing rapidly and successfully), driven by the necessity of businesses to keep up-to-date standards for software with rapid technological advances.
As the demand for reliable software increases, so does the demand for highly skilled software testers.
With the changing technological landscape, jobs for software testers are becoming increasingly specialized, providing a variety of options, ranging from entry-level jobs to jobs that require expertise in security, automation as well as AI-driven testing.