Skip to main content

Software Testing

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 Tutorial


Ways of Testing

  • Software Testing: Process to find out bugs and issues in the system/application. Learn More
  • Manual Testing: Test Cases executed manually. Learn More
  • Automation Testing: Testing performed with the help of automation tools.

Test Artifacts

  • Test BasisIt is the information needed in order to start the test analysis and create our Test Cases. Learn More
  • Test 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 More
  • Test 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. Learn More

Testing Process

  • Software Testing PrinciplesSeven Important Software Testing Principle to Improve Testing Quality. Learn More
  • Testing ProcessTesting 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 More
  • Software 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 More

Software 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 More
  • WaterFall 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 More
  • Iterative 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 More
  • Spiral Model: Spiral Model is a combination of Iterative Development Modeland 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 More
  • V-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 More
  • RAD 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 More
  • Prototype 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 More

Level of Testing

  • Functional 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 More
    • Unit Testing: Individually and independently testing of smallest testable parts of an application. Learn More
    • Integration Testing: When individual software modules are combined together and tested as a group than it is known as Integration TestingLearn More
    • Smoke Testing: Preliminary testing to reveal simple failures severe enough to (for example) reject a prospective software release or build. Learn More
    • Sanity Testing: Very brief run-through of the functionalities to assure that part of the system or methodology works roughly as expected. Learn More
    • System Testing: Testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. Learn More
    • Regression 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 More
    • Acceptance Testing: Formal testing with respect to user needs, requirements, and business processes conducted to determine whether a system satisfies the acceptance criteria. Learn More
      • Alpha & 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 More
    • End 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 More
  • Non-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 More
    • Load 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 More
    • Stress 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 More
    • Usability 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 More
    • Security Testing: This intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders. Learn More
    • Portability Testing: Software reliability is the probability that software will work properly in a specified environment and for a given amount of time.Learn More

Methods of Testing

  • Black Box Testing: Method in which the internal structure/ design/ implementation of the item being tested is NOT known to the tester. Learn More
  • White Box Testing: Method in which the internal structure/ design/ implementation of the item being tested is known to the tester. Learn More
  • Gray Box Testing: Method in which tester has knowledge of some parts of internal structure. Learn More

Techniques of Dynamic Testing

Dynamic Testing: Testing conducting while the program is executed. Learn More
  • Structured Based:
    • Statement:
    • Decision:
    • Condition:
    • Multiple Condition:
  • Experienced Based:
    • Error Guessing:
    • Exploratory Testing:
  • Specification Based: Learn More

Techniques of Static Testing

Static Testing: Testing of a software without executing the code. Learn More
  • Review – Typically used to find and eliminate errors or ambiguities in documents such as requirements, design, test cases, etc.
    • Informal Review
    • WalkThrough
    • Technical Review
    • Inspection
  • Static Analysis – The code written by developers are analysed (usually by tools) for structural defects that may lead to defects.
    • Static Analysis
    • Data Flow
    • Control Flow

Test Management

  • Bug Life Cycle: Defect life cycle is the journey of a defect cycle, which a defect goes through during its lifetime.Learn More
  • Continuous Integration CI : It is a software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base. Learn More
  • Configuration Management CM : A complete Configuration Management program includes provisions for the storing, tracking, and updating of all system information on a component, subsystem, and system basis. Learn More

Software Testing Tutorial |Software Testing Tutorial|Software Testing Tutorial|Software Testing Tutorial

Comments

Popular posts from this blog

IOT Projects souce code

IOT  Projects souce code What is IoT? The Internet of Things (IoT) is a network where everyday objects like devices, vehicles, and appliances have sensors and internet connectivity. It lets them gather and share data, work together, and perform tasks without human control. This helps boost automation and efficiency across different areas. You can learn IoT to understand its core components and get further knowledge of its functionalities. 20 IoT Projects with Source Code When it comes to IoT, there are many interesting ideas to explore, from making your home smarter to making an autonomous drone. No matter if you’re just starting or have experience, here are 20 Internet of things projects for beginners and advanced professionals. Simple IoT Project Ideas for Beginners For beginner-level, you can start with simple and fun IoT project ideas that involve basic components like sensors, actuators, and microcontrollers. Below are a few of them: 1. Smart Home Automation Smart home automat...

Connecting R to MySql in English #Training Trains

software design institute training

  ONLINE-OFFLINE IN-PLANT/INTERNSHIP With Certificate Training For B.E(ECE,EEE,CSE,IT,AI,ML,DataScience,Cyper Security),MCA, B.Sc,M.E,M.Tech. @ TrainingTrains.Online Classes Available 100 % Job placement Training Full Stack Developer | Placement Training In-plant Training/Internship Training with Project supports the various Engineering and Non-Engineering, Arts Students to develop their Skills on the IT Companies/Corporate Expectations. DURATION OF IN-PLANT TRAINING: 1 week and Above.DURATION OF INTERNSHIP: 1 Month and Above Internship-inplant training For All Departments students, Internship- inplant Training Python | Java | Full Stack Development | UI & UX | C& C++ | Php | Web Designing - HTML, CSS, Java Script, Bootstrap | MEAN Stack | MERN Stack | MEARNStack | Android | Kotlin | Flutter | Database - Oracle, Mongo DB, MySQL, MS SQL Serer | Visual Studio Code | Objective C | Swift | Go Lang | Frame work - Laravel, Django, Vue JS | Machine Learning | React JS | ...