Posts

Showing posts from November, 2011

What is Error Guessing

Error Guessing is the art of guessing there errors can be hidden.Error Guessing comes with previous experience of a tester with the similar technology  and the project.There are no specific tools and techniques for this testing, test cases can be designed depending on the situation, either drawing from SRS document or when an unexpected/undocumented error is found while testing the functional part of the application.This testing will results better based on the skills of the tester as it is the art of guessing the defects. In error guessing testers can think of situations where software will fail.

What is Cause–effect graph?

Image
Cause–effect graphing is a technique that provides a concise representation of logical conditions such as AND, OR, NOT and its corresponding actions.It maps a set of causes to a set of effects. The causes are the input to the program, and the effects are the output. Usually the graph shows the nodes representing the causes on the left side and the nodes representing the effects on the right side. The Cause–effect graphing will be like:-

What is Domain Testing?

What is Domain Testing? What is Domain Testing? Domain Testing is a software testing technique that focuses on the input values of a program. The idea is simple: rather than testing every possible input, you can partition the input space into smaller, manageable sections (or "domains"). By selecting a few representative values from each domain, you can effectively test the software while minimizing the number of test cases. This method is especially useful in cases where the input space is vast. Key Concepts of Domain Testing Input Domains: Every software application has a range of valid and invalid input values. These values can be categorized into different domains based on their characteristics. Equivalence Partitioning: This is a method of dividing input data into valid and invalid partitions. For each partition, you can choose a few representative values to test, rather than testing every single va...

What is User Documentation Testing?

User Documentation Testing: Making Software Easier to Use Understanding User Documentation Testing: Making Software Easier to Use! Welcome to the world of software testing! Today, we’re diving into an essential but often overlooked aspect of the software development process: User Documentation Testing . If you’ve ever picked up a user manual and felt confused, you know why this testing is so important! What is User Documentation Testing? User Documentation Testing is all about ensuring that the guides, manuals, and help resources provided with software are accurate, clear, and helpful. Think of it as a quality check for the instructions that help you navigate a software product. Imagine you just downloaded a new app, and the user manual is like a treasure map, guiding you to find all the hidden features. If that map is confusing or incomplete, you might get lost (or worse, never discover how to use the app at all)! ...

What is Compatibility Testing

Testing is done to ensure that the product features work consistently with different infrastructure components is called Compatibility Testing.Testing the application in different software and hardware environment is nothing but compatibility testing. This testing conducted on the application to evaluate the application's compatibility with the computing environment like:- Computing capacity of Hardware Platform (IBM 360, HP 9000, etc.).. Bandwidth handling capacity of networking hardware(based on network connection) Compatibility of peripherals (Printer, DVD drive, Pen drive,etc.) Operating systems (UNIX, Windows, etc.) Database (Oracle, Sybase, DB2, etc.) Other System Software (Web server, networking/ messaging tool, etc.) Browser compatibility (Firefox, Netscape, Internet Explorer, Safari, etc.) It has 2 classifications Backward Compatibility Testing:- It is done to ensure that the current version of the same product continues to work with the older version of the same ...

What is State or Graph based Testing?

Image
State-based and Graph-based Testing: The Ultimate Beginner’s Guide State-based and Graph-based Testing: The Ultimate Beginner’s Guide Hey there! 👋 Today, we're talking about State-based testing and Graph-based testing , two techniques that help make sure software behaves just the way it's supposed to. And don’t worry—we’ll keep things simple with real-life examples to make it all crystal clear! Ready? Let’s get started! 🚦 What is State-based Testing? State-based testing is a technique where the software is tested by considering the various states of the system and how it transitions from one state to another based on different inputs or events. This technique is particularly useful when the software’s behavior depends on its current state. Imagine you’re driving a car. Your car’s state changes based on what you're doing, right? It could be in "Park," "Drive," "R...

What is Equivalence Partitioning

This testing technique involves in identifying a small set of representatives input values (equivalence class)the produces same output values.This reduces the effort involved in testing.In this test one representative from each partition is picked for testing since all the values produce equal and same output.The main advantage of this testing is that we gain good coverage with a small number of test cases. For eg, a company offers increment for all employees based on the age criteria. so the total salary will be like base salary + increment. the age group criteria is like Age criteria      Increment under 35 age      1000/- 35-55 age           2000/- So the Equivalence Partitions that are based on the age are:- below 35 yrs of age(valid input) between 35 to 55 yrs of age(valid input) above 55(invalid input) age as 0(invalid input)

What is Decision Tables?

Understanding Decision Tables in Software Testing Understanding Decision Tables in Software Testing: Making Complex Decisions Simple! Welcome to the exciting world of software testing! Today, we’re going to explore a powerful tool that can simplify complex decision-making: Decision Tables . If you’ve ever felt overwhelmed by the various conditions and outcomes in software applications, this post is for you! What is a Decision Table? A Decision Table is a structured way of representing complex business rules and logic that govern a system's behavior. It helps testers outline all possible conditions and actions in a clear, organized manner. Think of it as a cheat sheet for managing decision-making scenarios—perfect for ensuring comprehensive test coverage! Why Use Decision Tables? Decision tables are particularly useful when you have multiple inputs (conditions) that can lead to various outputs (actions). They hel...

What is Boundary value analysis

Most of the software defects is most towards the boundaries.Boundary value analysis(BVA) is a method used for catching defects that happen at boundaries.Values on the minimum and maximum edges are tested in this type of black box testing. For ex if we are testing the application it should accept the values like 1 to100, then the test cases for boundary values will be like  test cases with the input values between 2 and 99(minimum edge)  test cases with the input value 0 and 101(maximum edge)

What is Positive and Negative Testing?

Positive Testing:- Positive testing is done to verify the known test conditions. It proves that product works as per the requirement and to check if the product is delivering the error when it is expected to give the error. In this testing the system is tested with valid inputs. This testing is aimed to show that the system works properly.So it is called as"test to pass". For ex test for a text box, the user requirement is like it should accept only the string inputs, we can test this as giving only string inputs. Negative Testing:- Negative testing is done to verify the unknown test conditions.Negative testing is testing the application with invalid or negative inputs. This testing is aimed to show that the system does not work with negative values. So it is called as "test to fail".It covers the scenarios for which the product is not designed and coded.Testing for behaviour that is contrary to expected behavior.For ex test for a text box, the user requirement i...

what is RTM (Requirement Traceability Matrix)

RTM (Requirement Traceability Matrix) traces all the requirements from their genesis through design, development, and testing.A traceability matrix is a document, usually in the form of a table includes Requirement ID, Description, Requirement Priority(high or medium or low), test conditions, test case id, phases of testing. Requirement identifier  represents a serial number  stating module and description stating each and every requirement of the system. Each requirement is assigned a requirement priority , classified as high,medium or low. Tests for high priority requirements will get precedence over tests for lower priority requirements.This ensures that the functionality that has the highest risk is tested earlier in the cycle. Defects reported by such testing can then be fixed as early as possible. Test conditions column lists the different ways of testing the requirement. Test case id is used to complete the mapping between test cases and requirements.Each requ...

What is Requirements based testing

This black box testing is  mainly deals with the requirements given in the SRS of the system.It is helpful because some requirements are implicit and not stated explicit. Implicit requirements are not mentioned in the SRS document and it should be assumed by the tester. All implicit and explicit requirements are mentioned in TRS( test requirements specifications) and this will be used for testing. Requirements are tracked by Requirements Traceability Matrix(RTM).

What is Black Box Testing?

Black box testing is done from the customer's viewpoint. It does not require examining the code of the program, it involves the looking at the specifications of the application and focuses solely on the output.It is also called as Functionality testing or Data driven testing or Behavioural testing.In this type of testing, tester does not have the access to the source code. Based on the SRS document, test data is prepared.The purpose of this testing is to cause failures in order to make faults visible.Another purpose is to assess the overall quality level of the application. There are various techniques to be used to generate test scenarios for effective Black box testing:- Requirement based testing Positive and negative testing Boundary value analysis Decision tables Equivalence partitioning State based testing Compatibility testing User documentation testing Domain testing Cause effect graphing Error guessing Advantages of Black box testing:- It helps in identifying ...

What is Dynamic Testing?

A Beginner's Guide to Dynamic Testing A Beginner's Guide to Dynamic Testing: Making Software Work Like a Charm! In the world of software development, testing is essential to ensure that what you build actually works the way you expect. One type of testing that plays a crucial role in this process is called dynamic testing . If you’re new to the concept, don’t worry! We’ll break it down in simple language and even include some real-life examples to make it easier to grasp. What is Dynamic Testing? Dynamic testing is a method of checking software by running it and observing how it behaves. It’s like taking a car for a test drive: you press the accelerator, hit the brakes, and make turns to see how well it performs under different conditions. The idea is to find any bugs or issues by actually using the software, rather than just reading through the code. Why Do We Need Dynamic Testing? Imagine you’ve just baked ...

What is Static Testing?

What is Static Testing? A Complete Guide with Real-Time Scenarios What is Static Testing? A Complete Guide with Real-Time Scenarios Introduction to Static Testing Static testing is a software testing technique that involves reviewing the code, requirements, or design documents without executing the program. This type of testing is crucial in identifying errors at an early stage, saving time and resources. Why Use Static Testing? Static testing helps in: Identifying defects early in the development process Improving code quality and maintainability Reducing the cost of fixing defects Ensuring compliance with coding standards Types of Static Testing There are several methods of static testing: Code Reviews: A manual process where developers check each other’s code for defects. Static Code Analysis: Automated tools analyze source code for potential er...

what is Branch Coverage Testing?

Every software program works with some set of branches in its code to perform certain functions.100% branch coverage means that test data will ensure that every branchsh of a program is executed at least once during testing. For example, consider the following code: if ( a >= b ) then { printf(") } else { printf(") }   For this code the brach test will be taken according to the decisions and its branches like if the condition is passed it will lead to one brach otherwise it leads to another brach.

What is Function Coverage Testing?

Function Coverage Testing What is Function Coverage Testing? Function Coverage Testing is a crucial aspect of software testing that ensures all functions in a program are tested at least once. It's like a checklist that helps developers verify that every piece of their code is executed during testing, ensuring that the software behaves as expected. Why is Function Coverage Important? When developers write code, they often create multiple functions to perform specific tasks. If some of these functions are never executed during testing, it can lead to undetected bugs and issues. Function Coverage Testing helps identify untested functions, making the software more robust and reliable. How Does Function Coverage Testing Work? The process involves the following steps: Identify Functions: List all the functions in the codebase. Create Test Cases: Develop test cases that will trigger each function. ...

What is Condition Coverage Testing?

Condition Coverage Testing Explained What is Condition Coverage Testing? Condition Coverage Testing is a software testing technique where every possible condition within a decision point in the code is tested to ensure it produces both true and false outcomes at least once. In simpler terms, it makes sure that every logical expression (conditions) in the code has been evaluated in all possible ways. Why is Condition Coverage Testing Important? Identify bugs that might arise when different conditions combine. Improve code quality by ensuring every condition is accounted for. Reduce the risk of unexpected software behavior . A Real-life Example – Coffee Machine Scenario Imagine you're coding for a smart coffee machine that makes coffee based on two conditions: The water tank should be filled. There should be enough coffee beans . ...

What is Path Coverage Testing?

Understanding Path Coverage Testing Understanding Path Coverage Testing: Ensuring Every Route is Explored! Welcome to our exploration of software testing! Today, we’ll dive into an essential testing technique known as Path Coverage Testing . If you've ever wondered how to ensure that your software navigates all possible routes through its code, you're in the right place! What is Path Coverage Testing? Path Coverage Testing is a structural testing method that ensures every possible path through a program’s code is executed at least once. It’s a step beyond traditional testing methods because it not only checks for correct outputs but also verifies that all logical paths are explored. Think of it as a way to make sure that every road in your software's journey is traveled! Why is Path Coverage Important? Path coverage testing is essential for several reasons: Thorough Testing: It helps identify hid...

What is Statement Coverage Testing?

What is Statement Coverage Testing? What is Statement Coverage Testing? Statement Coverage Testing is a type of white-box testing that ensures each line of code in a software application is executed at least once during testing. The primary goal is to identify any code that is not being tested, allowing developers and testers to improve the overall quality of the software. Why is Statement Coverage Important? Ensuring that every statement in your code is executed can help you: Identify Dead Code: Code that is never executed may indicate unnecessary or redundant code, which can lead to maintenance issues. Enhance Software Quality: By covering all statements, you reduce the chances of undetected bugs that may only appear in certain conditions. Build Confidence: Achieving high statement coverage gives you greater confidence that your code works as intended. How Does Statement Coverage Wor...