In this series of Software Testing Tutorial will give you a in-depth understanding on Testing Concepts, Level of Software Testing, its Types, Methods and Techniques.
Software Testing is the process of identifying the correctness and quality of software program. The purpose is to check whether the software satisfies the specific requirements, needs and expectations of the customer. In other words, testing is executing a system or application in order to find software bugs, defects or errors.Software Testing Tutorial - Audience
This Software Testing Tutorial is designed for software testing professionals and fresh graduates who would like to understand the concepts of testing in detail along with its types, methods, levels and techniques. This tutorial provides enough ingredients to start with the software testing process from where you can take yourself to higher levels of expertise.
Software Testing TutorialWays of TestingSoftware Testing: Process to find out bugs and issues in the system/application. Learn MoreManual Testing: Test Cases executed manually. Learn MoreAutomation Testing: Testing performed with the help of automation tools.Test ArtifactsTest Basis: It is the information needed in order to start the test analysis and create our Test Cases. Learn MoreTest Case Specification: A document described detailed summary of what scenarios will be tested, how they will be tested, how often they will be tested. Learn MoreTest Scenario: It is also called Test Condition or Test Possibility means any functionality that can be tested. Learn More*Test Case: What is Test Case and Strategy to Write Good Test Case a documentation which specifies input, pre-conditions, set of execution steps and expected result.Testing ProcessSoftware Testing Principles: Seven Important Software Testing Principle to Improve Testing Quality. Learn MoreTesting Process: Testing is a process rather than a single activity. It includes Planning & Controlling, Analysis & Design, Implementation & Execution, Evaluating Exit Criteria & Reporting and Test Closure Activities Learn MoreSoftware Testing Life Cycle: Software Testing Life Cycle (STLC) is defined as a sequence of activities conducted to perform Software Testing. It consists of series of activities carried out methodologically to help certify your software product. Learn MoreSoftware Development Life Cycle
Software Development Life Cycle is a systematic approach to develop software. It creates a structure for the developer to design, create and deliver high quality software according to the requirements of customer or end user. Learn MoreWaterFall Model: The whole process of software development is divided into separate phases. The outcome of one phase acts as the input for the next phase sequentially. This means that any phase in the development process begins only if the previous phase is complete. Learn MoreIterative Model: It is a method of software development where the product is designed, implemented and tested incrementally. Little more is added each time until the product is finished. Learn MoreSpiral Model: Spiral Model is a combination of Iterative Development Model and Waterfall Model with very high emphasis on risk analysis. It allows for incremental releases of the product, or incremental refinement through each iteration around the spiral. Learn MoreV-Model: In this execution of processes happens in a sequential manner in V-shape. It is also known as Verification and Validation Model. V-Model is an extension of the Waterfall Model and is based on association of a testing phase for each corresponding development stage. Learn MoreRAD Model: The functional modules are developed simultaneously as prototypes and are integrated to make the complete product for faster product delivery. The customer gets early visibility in the software and can provide feedback on design, delivery, and other requirements. Learn MorePrototype Model: The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. Learn MoreLevel of TestingFunctional Testing: Functional testing involves testing the application against the business requirements. The goal of functional testing is to verify that the application is behaving the way it was designed to. Learn MoreUnit Testing: Individually and independently testing of smallest testable parts of an application. Learn MoreIntegration Testing: When individual software modules are combined together and tested as a group than it is known as Integration Testing. Learn MoreSmoke Testing: Preliminary testing to reveal simple failures severe enough to (for example) reject a prospective software release or build. Learn MoreSanity Testing: Very brief run-through of the functionalities to assure that part of the system or methodology works roughly as expected. Learn MoreSystem Testing: Testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. Learn MoreRegression Testing: Retesting of a software system to confirm that changes made to few parts of the codes has not any side affects on existing system functionalities. Learn MoreAcceptance Testing: Formal testing with respect to user needs, requirements, and business processes conducted to determine whether a system satisfies the acceptance criteria. Learn MoreAlpha & Beta Testing: Alpha Testing is conducted by a team of highly skilled testers at development site whereas Beta Testing is always conducted in Real Time environment by customers or end users at their own site. Learn MoreEnd to End Testing: End to End Testing is usually executed after functional and system testing. It uses actual production like data and test environment to simulate real-time settings. End-to-End testing is also called Chain Testing. Learn MoreNon-Functional Testing: Non-Functional testing is designed to figure out if your product will provide a good user experience.Performance Testing: To evaluate the performance of components of a particular system under a particular workload. Learn MoreLoad Testing: Testing the behaviour of the system under a specific load or to get the breakeven point where system starts downgrading it’s performance. Learn MoreStress Testing: It is performed to find the upper limit capacity of the system and also to determine how the system performs if the current load goes well above the expected maximum. Learn MoreUsability Testing: Testing to determine the extent to which the software product is understood, easy to learn, easy to operate and attractive to the users under specified conditions. Learn MoreSecurity Testing: This intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders. Learn MorePortability Testing: Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Learn MoreMethods of TestingBlack Box Testing: Method in which the internal structure/ design/ implementation of the item being tested is NOT known to the tester. Learn MoreWhite Box Testing: Method in which the internal structure/ design/ implementation of the item being tested is known to the tester. Learn MoreGray Box Testing: Method in which tester has knowledge of some parts of internal structure. Learn MoreTechniques of Dynamic Testing
Dynamic Testing: Testing conducting while the program is executed. Learn MoreStructured Based:Statement:Decision:Condition:Multiple Condition:Experienced Based:Error Guessing:Exploratory Testing:Specification Based: Learn MoreBoundary Value Analysis: Learn MoreEquivalence Partitioning: Learn MoreDecision Table Testing: Learn MoreOrthogonal Array Testing:State Transition Diagrams:Use Case Testing:Techniques of Static Testing