Professional Documents
Culture Documents
Review On Software Testing
Review On Software Testing
8 February 2022 1
Quality Assurance and Software Testing
Quality Assurance
- Process of ensuring that a product (e.g. software application) is of the highest possible quality for customers and
stakeholders
- Includes activities and approaches that are carried out during software development to achieve the defined quality of
the software
- Ensures that the software development and methods follow proper and organization standards
Software Testing
- Method of checking that the software application is free from bugs, defects, or errors and ensuring that it meets the
expected requirements
- Consists of execution of software functions or components using manual or automated tools
- Main purpose is to identify errors or missing requirements in comparison with the actual requirements
8 February
2
2022
Difference Between QA and Testing
8 February
3
2022
Types of Software Testing
• Functional Testing – test functionalities against the requirements
• Unit Testing
• Integration Testing
• Smoke Testing
• User Acceptance Testing (UAT)
• System Testing (End-to-end testing)
• Regression Testing
• Non-Functional Testing
• Performance Testing
• Load Testing
• Usability Testing
• UI/UX Testing
• Security Testing
• Portability Testing
8 February
4
2022
Seven Principles of Software Testing
1. Exhaustive testing is not possible
2. Defect clustering
3. Pesticide Paradox
4. Testing shows presence of defects
5. Absence of Error - fallacy
6. Early testing
7. Testing is context dependent
8 February
5
2022
QA and Software Testing Skills
Non-Technical Skills
- Analytical Skills
- Communication Skills (Verbal and written)
- Time Management and Organization Skills
- Great Attitude
- Passion
Technical Skills
- Basic knowledge of Database/SQL
- Knowledge and hands-on experience of a Test Management Tool (e.g. Test Plan in Azure DevOps)
- Knowledge and hands-on experience of any defect-tracking tool (e.g. Azure DevOps, Jira)
- Knowledge and hands-on experience of any Test Automation tool
- Knowledge of main programming or scripting languages like HTML, C#, JavaScript
8 February
6
2022
SDLC and STLC
Software Development Life Cycle (SDLC)
- Series of activities done by developers to design and develop high-quality software
Development Models:
V Model Iterative Life Cycle (for Rapid Application Devt and Agivle Development
Notes:
1. There are different models for development life cycle.
2. A model chosen depends on the objectives and requirements of the project.
3. Testing is a stand-alone activity and has to adopt with the development chosen for a project.
10 February
7
2022
Software Testing Life Cycle Phases
Requirement Analysis
- High level analysis and study of requirements; interaction with stakeholders to understand the requirements in detail.
Test Planning
- Determining test plans and strategies along with efforts and cost estimates for the project. Resources, test environment, test limitations
and schedules are also determined.
Test Case Design
- Includes creation, verification and rework of test cases/test scripts after the test plan. The test team can start the development process of
test cases of each unit or small components.
Test Environment Setup
- Setup the software and hardware conditions under which an application is tested. Test team may not be involved if the development team
can provide the test environment.
Test Execution/Defect Reporting
- Actual testing is done based on the test plans and test cases prepared. Includes test script execution, maintenance, and bug reporting.
Test Closure
- Involves activities like test completion reporting and compilation of test results. Test results can be shared within the team to identify
strategies in future projects.
8 February
8
2022
Manual Testing
Manual Testing
- Test cases are executed manually without the aid of any automated tools
- Purpose is to identify errors or issues in the software application
- Most primitive but it helps find critical bugs in a software application
- Needed to assess automation feasibility
10 February
11
2022
Test Automation Framework
A framework is a set of automation guidelines that aims to:
10 February
12
2022
Levels of Testing
10 February
13
2022
Unit Testing
- Individual units or software components (individual function, method, procedure, module or object) are tested to validate that each
of them performs as expected.
- It is done by developers during the development phase of the application.
- This is the first level of testing
Advantages
- Unit tests help to fix bugs in the early stages of development, thereby saving costs and time.
- Can serve as documentation and helps the developers understand the code base and enables them to make changes immediately
- Can be reusable
10 February
14
2022
Integration Testing
- Type of testing where the individual units or modules are integrated and tested as a group.
- Purpose is to determine defects on the interaction of these software modules
Primary Usage
- Verify that the software modules work in unity
- Verify requirement changes by clients that were not unit tested and can only be tested during integration testing
- Interfaces of software modules to database or other data sources can be erroneous
- Exception handling can be detected
Note:
- Identify critical modules and these will be prioritized for testing
10 February
15
2022
System Testing
- Validates the complete and fully integrated software application
- Evaluate the end-to-end system specifications
10 February
16
2022
Acceptance Testing
- Evaluate whether the system meets the user acceptance criteria and requirements
- Evaluate whether the system is also ready for release and production
14 February
17
2022
Software Testing Types
https://www.guru99.com/types-of-software-testing.html
14 February
18
2022
Top Software Testing Trends
1. Agile and DevOps
2. Test Automation
3. API and Services Test Automation
4. Artificial Intelligence for Testing
5. Mobile Test Automation
6. Test Environments and Data
7. Integration of Tools and Activities
14 February
19
2022
Sources
https://www.guru99.com/software-testing.html
https://testautomationu.applitools.com/
https://www.w3schools.com/cs/index.php
https://www.toolsqa.com/selenium-webdriver/c-sharp/set-up-project-for-selenium-automation-framework-in-csharp/
https://testautomationu.applitools.com/test-automation-framework-csharp/
https://app.pluralsight.com/library/courses/creating-automated-browser-tests-selenium-c-sharp/table-of-contents
14 February
20
2022