Intro to Software Testing PDF
Document Details
2024
Peter Gosling
Tags
Summary
This presentation provides an introduction to software testing concepts and various methodologies for ensuring software quality. It covers topics like different testing types, techniques, and the benefits of software testing.
Full Transcript
Intro to Software Testing Software Testing Intro Topics What is Software Testing Why is it important Different Types of Software Testing Testing Techniques Testing Tools Best Practice Cha...
Intro to Software Testing Software Testing Intro Topics What is Software Testing Why is it important Different Types of Software Testing Testing Techniques Testing Tools Best Practice Challenges impacting Software Testing Peter Gosling © 2024 2 What is software testing Software testing is a hopefully structured process of evaluating and verifying that a software application or product performs as it is supposed to. Purpose is to Identify and fix defects Verify its functionality Verify the reliability of the product Validate the product performance Ensures the quality and reliability of the software product Peter Gosling © 2024 3 Why is it important Quality Assurance – meets the requirements Risk Mitigation – Identify and fix issues BEFORE it reach the users Cost Saving – Earlier bug discovery the cheaper it is to fix Reputation – Ensure the organisations reputation as a quality product provider. Peter Gosling © 2024 4 Types of Software Testing Unit Testing Manual Testing Integrations Testing Automated Testing System Testing Functional Testing Regression Testing User Acceptance Testing Performance Testing Load Testing Non-Functional Usability Testing testing Security Testing Peter Gosling © 2024 5 Testing Techniques Black Box Testing Exploratory Testing White Box Testing Boundary Value Analysis Grey Box Testing Equivalence Smoke Testing Partitioning Usability Testing Peter Gosling © 2024 6 Black Box Black-box Testing Test Design Techniques EP and BVA - to help write high quality test cases Decision Tables - to identify test combinations State Transition Diagrams Peter Gosling © 2024 7 White Box White-box Testing Test-driven Development – Using test frameworks to drive testing in agile projects - pytest Test Coverage – Using coverage within SonarQube Flow diagrams – identify logical flow Peter Gosling © 8 2024 Grey Box Testing Mix of White and Black box Partial knowledge of the code structure Test for improper code structure and / or improper use of the application Test presentation as well as the code sides of an app Peter Gosling © 2024 9 Benefits of Grey Box Combined benefits of both black box testing and white box testing It combines the input of developers as well as testers and improves overall product quality It reduces the overhead of long process of testing functional and non-functional types It gives enough free time for a developer to fix defects Testing is done from the user perspective rather than a designer point of view Peter Gosling © 2024 1 Smoke Testing Determines whether the deployed software build is stable or not. Smoke testing is a confirmation for QA team to proceed with further software testing. It consists of a minimal set of tests run on each build to test software functionalities. Smoke testing is also known as “Build Verification Testing” or “Confidence Testing.” Peter Gosling © 2024 1 Smoke in operation In simple terms, smoke tests means verifying the important features are working and there are no showstoppers in the build that is under testing. It is a mini and rapid regression test of major functionality. It is a simple test that shows the product is ready for testing. This helps determine if the build is flawed as to make any further testing a waste of time and resources. Peter Gosling © 2024 1 Best Practice Test Planning: Define objectives, scope, test strategies Test Cases: Create detailed test cases Test Data: data to use in tests Automation: Repetitive and critical tests Regression Testing: continuously validate functionality Bug Tracking: systematic bug records Documentation: complete test cycle documented Peter Gosling © 2024 1 Challenges Incomplete or poor requirements Time constraints Changing requirements Resource constraints Communication issues Test environment issues Test data management Peter Gosling © 2024 1 Interesting articles https://www.syntaxtechs.com/blog/introduc tion-to-software-testing-a-beginners-guide/ https://katalon.com/ - check out the different products and resources https://zebrunner.com/pricing?tab=TCM check out the products Peter Gosling © 2024 1