Skip to main content

Posts

Showing posts with the label software testing

Graph Theory | Cyclomatic complexity

What is Graph Matrix? A graph matrix is a square matrix whose size represents the number of nodes in the control flow graph.  Each row and column in the matrix identifies a node and the entries in the matrix represent the edges or links between these nodes. Conventionally, nodes are denoted by digits, and edges are denoted by letters. Example: Graph Examples Since the graph has 4 nodes , so the graph matrix would have a dimension of 4 X 4 . Matrix entries will be filled as follows : (1, 1) will be filled with ‘a’ as an edge exists from node 1 to node 1 (1, 2) will be filled with ‘b’ as an edge exists from node 1 to node 2. It is important to note that (2, 1) will not be filled as the edge is unidirectional and not bidirectional (1, 3) will be filled with ‘c’ as edge c exists from node 1 to node 3 (2, 4) will be filled with ‘d’ as edge exists from node 2 to node 4 (3, 4) will be filled with ‘e’ as an edge exists from node 3 to node 4 Connection Matrix A connection matrix is a ma...

Testing Process and Limitations of Testing

Software Testing process Software testing process 1. Test Strategy and Test Plan Every project needs a Test Strategy and a Test Plan. These artifacts describe the scope for testing for a project: The systems that need to be tested, and any specific configurations Features and functions that are the focus of the project Non-functional requirements Test approach—traditional, exploratory, automation, etc.—or a mix Key processes to follow – for defects resolution, defects triage Tools—for logging defects, for test case scripting, for traceability Documentation to refer, and to produce as output Test environment requirements and setup Risks, dependencies, and contingencies Test Schedule Approval workflows Entry/Exit criteria And so on… Whatever methodology your project follows, you need to have a Test Strategy and Software Testing Plan in place. Make them two separate documents, or merge them into one. Without a clear test strategy and a detailed test plan, even Agile projects will find i...

What is software testing and why it is so hard?

What is software testing? Software testing is a process of identifying the correctness of software by considering its attributes (Reliability, Scalability, Portability, Re-usability, Usability) and evaluating the execution of software components to find the software bugs or errors, or defects . Software testing provides an independent view and objective of the software and gives surety of the 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 the time due to lack of testing. So, without testing software cannot be deployed to the end-user. Types of software testing Types of Software testing: Manual testing The process of checking the functionality of an application as per the customer’...

Software testing syllabus

Unit-1: What is software testing and why it is so hard? Error, Fault, Failure, Incident, Test Cases Testing Process and Limitations of Testing No absolute proof of correctness Overview of Graph Theory Unit-2: Functional Testing:  Boundary Value Analysis Equivalence Class Testing Decision Table Based Testing Cause-Effect Graphing Technique Structural Testing:   Path testing DD-Paths Cyclomatic Complexity Graph Metrics Data Flow Testing Mutation testing Unit-3: Reducing the number of test cases:   Prioritization guidelines Priority category Scheme Risk Analysis Regression Testing Slice based testing Testing Activities:   Levels of Testing Unit Testing Integration Testing System Testing Debugging Domain Testing Unit-4: Object-Oriented Testing:   Issues in Object-Oriented Testing Class Testing GUI Testing Object-Oriented Integration, and System Testing Testing Tools:   Static Testing Tools Dynamic Testing Tools Characteristics of Modern Tools