This document discusses software testing. It defines software testing as evaluating software components to find bugs or errors. It describes different types of testing like black box testing, white box testing, and gray box testing. It also discusses manual testing, how to perform it, and its advantages and disadvantages compared to other testing methods. The document is an introduction to software testing concepts.
This document discusses software testing. It defines software testing as evaluating software components to find bugs or errors. It describes different types of testing like black box testing, white box testing, and gray box testing. It also discusses manual testing, how to perform it, and its advantages and disadvantages compared to other testing methods. The document is an introduction to software testing concepts.
This document discusses software testing. It defines software testing as evaluating software components to find bugs or errors. It describes different types of testing like black box testing, white box testing, and gray box testing. It also discusses manual testing, how to perform it, and its advantages and disadvantages compared to other testing methods. The document is an introduction to software testing concepts.
SWEN 5325 د محمد زكي شبير www.islamit.net Chapter 1 Introduction
12/20/2020 www.islamit.net م حمد زكيش بير.د 2
Introduction • Software testing provides basic and advanced concepts of software testing. • Software testing is widely used technology because it is compulsory to test each and every software before deployment. • Software testing includes all topics of Software testing such as Methods such as Black Box Testing, White Box Testing, Visual Box Testing and Gray Box Testing. Levels such as Unit Testing, Integration Testing, Regression Testing, Functional Testing. System Testing, Acceptance Testing, Alpha Testing, Beta Testing, Non- Functional testing, Security Testing, Portability Testing 12/20/2020 www.islamit.net م حمد زكيش بير.د 3 What is Software Testing? • Software testing is a process of identifying the correctness of software by considering its all attributes (Reliability, Scalability, Portability, Re- usability, Usability) and evaluating the execution of software components to find the software bugs or errors or defects
12/20/2020 www.islamit.net م حمد زكيش بير.د 4
continue
12/20/2020 www.islamit.net م حمد زكيش بير.د 5
continue • Software testing provides an independent view and objective of the software and gives surety of fitness of the software. It involves testing of all components under the required services to confirm that whether it is satisfying the specified requirements or not. The process is also providing the client with information about the quality of the software. • Testing is mandatory because it will be a dangerous situation if the software fails any of time due to lack of testing. So, without testing software cannot be deployed to the end user.
12/20/2020 www.islamit.net م حمد زكيش بير.د 6
What is Testing? • Testing is a group of techniques to determine the correctness of the application under the predefined script but, testing cannot find all the defect of application. • The main intent of testing is to detect failures of the application so that failures can be discovered and corrected. It does not demonstrate that a product functions properly under all conditions but only that it is not working in some specific conditions.
12/20/2020 www.islamit.net م حمد زكيش بير.د 7
continue • Testing furnishes comparison that compares the behavior and state of software against mechanisms because the problem can be recognized by the mechanism. The mechanism may include past versions of the same specified product, comparable products, and interfaces of expected purpose, relevant standards, or other criteria but not limited up to these. 12/20/2020 www.islamit.net م حمد زكيش بير.د 8 continue • Testing includes an examination of code and also the execution of code in various environments, conditions as well as all the examining aspects of the code. In the current scenario of software development, a testing team may be separate from the development team so that Information derived from testing can be used to correct the process of software development. 12/20/2020 www.islamit.net م حمد زكيش بير.د 9 continue • The success of software depends upon acceptance of its targeted audience, easy graphical user interface, strong functionality load test, etc. • For example, the audience of banking is totally different from the audience of a video game. Therefore, when an organization develops a software product, it can assess whether the software product will be beneficial to its purchasers and other audience 12/20/2020 www.islamit.net م حمد زكيش بير.د 10 www.islamit.net م حمد زكي.د 11 ش بير Manual testing • The process of checking the functionality of an application as per the customer needs without taking any help of automation tools is known as manual testing. • While performing the manual testing on any application, we do not need any specific knowledge of any testing tool, rather than have a proper understanding of the product so we can easily prepare the test document.
12/20/2020 www.islamit.net م حمد زكيش بير.د 12
www.islamit.net م حمد زكي.د 13 ش بير White-box testing • The white box testing is done by Developer, where they check every line of a code before giving it to the Test Engineer. • Since the code is visible for the Developer during the testing, that's why it is also known as White box testing.
12/20/2020 www.islamit.net م حمد زكيش بير.د 14
Black box testing • The black box testing is done by the Test Engineer, where they can check the functionality of an application or the software according to the customer /client's needs. • In this, the code is not visible while performing the testing; that's why it is known as black-box testing. 12/20/2020 www.islamit.net م حمد زكيش بير.د 15 Gray Box testing • Gray box testing is a combination of white box and Black box testing
int i=0; print
For i = 1 to 10 Print (i); End 12/20/2020 www.islamit.net م حمد زكيش بير.د 16 F1 is used to print the number from 1 to 10 • output •1 •2 int i=0; print •3 For i = 1 to 10 •4 Print (i); •5 End •6 •7 •8 •9 • 10 12/20/2020 www.islamit.net م حمد زكيش بير.د 17 How to perform Manual Testing 1. First, tester observes all documents related to software, to select testing areas. 2. Tester analyses requirement documents to cover all requirements stated by the customer. 3. Tester develops the test cases according to the requirement document. 4. All test cases are executed manually by using Black box testing and white box testing. 5. If bugs occurred then the testing team informs the development team. 6. The Development team fixes bugs and handed software to the testing team for a retest.
12/20/2020 www.islamit.net م حمد زكيش بير.د 18
Client Req Software Functions test User can login User can login ok User can view profile - missing User can make order Order management ok User can cancel order Order delete modify User can print order Print order ok User can email order report User can save order as pdf - missing Order notification by sms Change order title
12/20/2020 www.islamit.net م حمد زكيش بير.د 19
Software Build Process
12/20/2020 www.islamit.net م حمد زكيش بير.د 20
Example of Build process
12/20/2020 www.islamit.net م حمد زكيش بير.د 21
Advantages of Manual Testing • It does not require programming knowledge while using the Black box method. • It is used to test dynamically changing GUI designs. • Tester interacts with software as a real user so that they are able to discover usability and user interface issues. • It ensures that the software is 100% bug-free. • It is cost-effective. • Easy to learn for new testers. 12/20/2020 www.islamit.net م حمد زكيش بير.د 22 Disadvantages of Manual Testing • It requires a large number of human resources. • It is very time-consuming. • Tester develops test cases based on their skills and experience. There is no evidence that they have covered all functions or not. • Test cases cannot be used again. Need to develop separate test cases for each new software. • It does not provide testing on all aspects of testing. • Since two teams work together, sometimes it is difficult to understand each other's motives, it can mislead the process. 12/20/2020 www.islamit.net م حمد زكيش بير.د 23