Monday, November 23, 2020



The ISTQB is a leading organization that awards certificates to those who have passed the examination in order to build career as a professional software testers. There are various levels of certification to achieve certificate, each level is much more difficult and complex from the previous one. In the book FOUNDATIONS OF SOFTWARE TESTING ISTQB CERTIFICATION Dorothy Graham, you will be taught to learn from very basic to highly advanced software testing skills, required for the software industry. Whey testing is necessary, what are its limitations and purpose in software industry. From fundamental to advanced process which are followed by testers all these explain in this book.

Important thing in software testing is to know and identify the test conditions based on the software working and functions. Then design the test cases as per the test scenario and conduct the tests. Defining the categories of software testing and working on them. You will learn about black box testing, white box testing, specified testing extensively not only these categories, you will see extensive details on all other testing techniques. Like white box testing and its benefits difference between white box testing and black box testing and experience based testing. When to choose right testing technique is also a big challenge, you will learn here. You can download FOUNDATIONS OF SOFTWARE TESTING ISTQB CERTIFICATION Dorothy Graham as pdf here.

1 Fundamentals of testing 1
Why is testing necessary? 1
What is testing? 11
Testing principles 18
Fundamental test process 20
The psychology of testing 26

2 Testing throughout the software life cycle 35
Software development models 35
Test levels 41
Test types: the targets of testing 46
Maintenance testing 50

3 Static techniques 57
Reviews and the test process 57
Review process 59
Static analysis by tools 69

4 Test design techniques 77
Identifying test conditions and designing test cases 77
Categories of test design techniques 84
Specification-based or black-box techniques 87
Structure-based or white-box techniques 105
Experience-based techniques 112
Choosing a test technique 114

5 Test management 127
Test organization 127
Test plans, estimates, and strategies 132
Test progress monitoring and control 142
Configuration management 148
Risk and testing 149
Incident management 155

6 Tool support for testing 169
Types of test tool 169
Effective use of tools: Potential benefits and risks 184
Introducing a tool into an organization 190

7 ISTQB Foundation Exam 197
Preparing for the exam 197
Taking the exam 199
Mock exam 201

Saturday, November 21, 2020

Ebook Software Quality Engineering Testing Quality Assurance and Quantifiable Improvement by Jeff Tian

Software Quality Engineering Testing Quality Assurance and Quantifiable Improvement by Jeff Tian


1. Overview
Meeting People’s Quality Expectations, Dependency and Suggested Usage, Book Organization and Chapter Overview, Reader Preparation and Background Knowledge.

2. What Is Software Quality?
Quality: Perspectives and Expectations, Quality Frameworks and ISO-9126, Correctness and Defects: Definitions, Properties, and Measurements, A Historical Perspective of Quality, So, What Is Software Quality.

3. Quality Assurance
Defect Prevention, Classification: QA as Dealing with Defects, Education and training, Formal method, Other defect prevention techniques, Software fault tolerance, Defect Reduction, Inspection: Direct fault detection and removal, Testing: Failure observation and fault removal, Other techniques and risk identification, Defect Containment, Safety assurance and failure containment.

4. Quality Assurance in Context
Verification and Validation Perspectives, Reconciling the Two Views, Concluding Remarks, Handling Discovered Defect During QA Activities, QA Activities in Software Processes.

5. Quality Engineering
Quality Assessment and Improvement, Concluding Remarks, Quality Engineering: Activities and Process, Quality Planning: Goal Setting and Strategy Formation, Quality Engineering in Software Processes.


6. Testing: Concepts, Issues, and Techniques
Questions About Testing, Concluding Remarks, Purposes, Activities, Processes, and Context, Functional vs. Structural Testing: What to Test?, Coverage-Based vs. Usage-Based Testing: When to Stop Testing?.

7. Test Activities, Management, and Automation
Test Planning and Preparation, Test planning: Goals, strategies, and techniques, Testing models and test cases, Test suite preparation and management, Preparation of test procedure, Test Execution, Result Checking and Measurement, Analysis and Follow-up, Activities, People, and Management, Test Automation.

8. Coverage and Usage Testing Based on Checklists and Partitions
Checklist-Based Testing and Its Limitations, Testing for Partition Coverage, Some motivational examples, Partition: Concepts and definitions, Usage-Based Statistical Testing with Musa’s Operational Profiles, Musa OP: Basic ideas, Constructing Operational Profiles, Generic methods and participants, OP development procedure: Musa-1, OP development procedure: Musa-2, Case Study: OP for the Cartridge Support Software, Background and participants, OP development in five steps, Metrics collection, result validation, and lessons learned, Concluding Remarks, Problems Testing decisions and predicates for partition coverage, The cases for usage-based statistical testing, Using OPs for statistical testing and other purposes.

9.Input Domain Partitioning and Boundary Testing
Input Domain Partitioning and Testing, Basic concepts, definitions, and terminology, Input domain testing for partition and boundary problems, Simple Domain Analysis and the Extreme Point Combination Strategy, Testing Strategies Based on Boundary Analysis, Other Boundary Test Strategies and Applications, Strong and approximate strategies, Other types of boundaries and extensions, Queuing testing as boundary testing.

10. Coverage and Usage Testing Based on Finite-State Machines and Markov Chains
Finite-State Machines and Testing, Overcoming limitations of simple processing models, FSMs: Basic concepts and examples, Representations of FSMs, FSM Testing: State and Transition Coverage, Some typical problems with systems modeled by FSMs, Model construction and validation, Testing for correct states and transitions, Applications and limitations, Case Study: FSM-Based Testing of Web-Based Applications, Characteristics of web-based applications, What to test: Characteristics of web problems, FSMs for web testing, Markov chains and operational profiles, From individual Markov chains to unified Markov models, UMM construction, Markov Chains and Unified Markov Models for Testing, Using UMMs for Usage-Based Statistical Testing, Testing based on usage frequencies in UMMs, Testing based on other criteria and UMM hierarchies, Implementation, application, and other issues Case Study Continued: Testing Based on Web Usages, Usage-based web testing: Motivations and basic approach, Constructing UMMs for statistical web testing, Statistical web testing: Details and examples.

11. Control Flow, Data Dependency, and Interaction Testing
Basic Control Flow Testing, General concepts, Model construction, Path selection, Path sensitization and other activities, loop Testing, CFT Usage, and Other Issues,Different types of loops and corresponding CFGs, Loop testing: Difficulties and a heuristic strategy, CFT Usage and Other Issues, Data Dependency and Data Flow Testing, Basic concepts: Operations on data and data dependencies Basics of DFT and DDG, DDG elements and characteristics, Information sources and generic procedure for DDG construction, Building DDG indirectly, Dealing with loops, DFT Coverage and Applications, Achieving slice and other coverage, DFT: Applications and other issues, DFT application in synchronization testing.

12. Testing Techniques: Adaptation, Specialization, and Integration
Testing Sub-Phases and Applicable Testing Techniques, Specialized Test Tasks and Techniques, Test Integration, Case Study: Hierarchical Web Testing, Concluding Remarks


13. Defect Prevention and Process improvement
Basic Concepts and Generic Approaches, Root Cause Analysis for Defect Prevention, Education and Training for Defect Prevention, Other Techniques for Defect Prevention, Analysis and modeling for defect prevention, Technologies, standards, and methodologies for defect prevention, Software tools to block defect injection, Process selection, definition, and conformance, Process maturity, Focusing on Software Processes, Process and quality improvement.

14. Software Inspection
Basic Concepts and Generic Process, Fagan inspection, Other Inspections and Related Activities, Inspections of reduced scope or team size, Inspections of enlarged scope or team size, Informal desk checks, reviews, and walkthroughs, Code reading, Other formal reviews and static analyses, Defect Detection Techniques.

15. Formal Verification
Basic Concepts: Formal Verification and Formal Specification, Formal Verification: Axiomatic Approach, I Formal logic specifications, Axioms, Axiomatic proofs and a comprehensive example, Weakest pre-conditions and backward chaining, Functional approach and symbolic execution, Seeking alternatives: Model checking and other approaches, Applications, Effectiveness, and Integration Issues

16. Fault Tolerance and Failure Containment
Basic Ideas and Concepts, Fault Tolerance with Recovery Blocks, Fault Tolerance with N-Version Programming, NVP: Basic technique and implementation, Applying NVP ideas in other QA activities, Failure Containment: Safety Assurance and Damage Control, Hazard analysis using fault-trees and event-trees, Hazard resolution for accident prevention, Accident analysis and post-accident damage control, Modeling and analyzing heterogeneous systems, Prescriptive specifications foir safetyProblems, Application in Heterogeneous Systems

17. Comparing Quality Assurance Techniques and Activities
General Questions: Cost, Benefit, and Environment, Applicability to Different Environments, Effectiveness Comparison, Defect perspective, Problem types, Defect level and pervasiveness, Result interpretation and constructive information, Cost Comparison, Comparison Summary and Recommendations


18. Feedback Loop and Activities for Quantifiable Quality Improvement
QA Monitoring and Measurement, Direct vs. indirect quality measurements, Direct quality measurements Result and defect measurements, Indirect quality measurements: Environmental, product internal, Immediate Follow-up Actions and Feedback, Analyses and Follow-up Actions, Analyses for product release decisions, Analyses for other project management decisions, Other feedback and follow-up actions, Feedback loop: Implementation and integration, A refined quality engineering process, Tool support: Strategy, implementation, and integration, Implementation, Integration, and Tool Support.

19. Quality Models and Measurements
Models for Quality Assessment, Generalized Models, Product-Specific Models, Model Comparison and Interconnections, Data Requirements and Measurement, Selecting Measurements and Models.

20. Defect Classification and Analysis
General Types of Defect Analyses, Defect distribution analysis, Defect trend analysis and defect dynamics model, Defect causal analysis, ODC concepts, Defect classification using ODC: A comprehensive example, Adapting ODC to analyze web errors, I One-way analysis: Analyzing a single defect attribute, Two-way and multi-way analysis: Examining cross-interactions, Defect Classification and ODC, Defect Analysis for Classified Data.

21. Risk Identification for Quantifiable Quality Improvement
Basic Ideas and Concepts, Traditional Statistical Analysis Techniques, New Techniques for Risk Identification, Principal component and discriminant analyses, Artificial neural networks and learning algorithms, Data partitions and tree-based modeling, Pattern matching and optimal set reduction, Comparisons and Integration, Risk Identification for Classified Defect Data.

22. Software Reliability Engineering
SRE: Basic Concepts and General Approaches, Large Software Systems and Reliability Analyses, Reliability Snapshots Using IDRMs, Longer-Term Reliability Analyses Using SRGMs, TBRMs for Reliability Analysis and Improvement, Constructing and using TBRMs, TBRM Applications, TBRM’s impacts on reliability improvement, Implementation and Software Tool Support.

Saturday, October 24, 2020

Software Testing Top Interview Questions

Its very common situation when you are asked to reply question asked while attending Software Testing Interviews. Following are few common questions that every tester should now before attending any interview, list includes basic, intermediate and advanced questions.

1. Define the Methods of Software Testing in detailed

There are mainly three types of testing methods used in software testing, these are given below
a) Black Box Testing
b) White Box Testing
c) Grey Box Testing

Black Box Testing: This method is used to test applications based exclusively on requirements and software specifications in each software. In these methods we test applications or modules without covering internal structure code, path and other functions implementations.

White Box Testing: Contrary to Black Box Testing this testing method uses internal paths, structures, code of the applications available for test. It needs extensive details of programming language and skills. An experienced programmer or test can conduct this

Gray Box Testing: In this strategy, a tester does not need extensive details of internal details of the program, can be done by novice professionals or called beginners.

2. Explain the level of the software testing.
There are mainly four testing levels used in software testing these are as follows:

Unit Testing : When it comes to check individual components or units of any applications or software are tested by tester it is called Unit Testing. The motive of this testing is to confirm that all parts and code of each unit or module is working perfectly and producing expected results. Unit testing is conducted by the programmer or developer during the course of development.

Integration Testing: It refers to the strategy where each unit or module is combined together and integrated into one single unit called module, it is done after Unit Testing. The main purpose of this is to test the entire application after integration of every unit. It is the broader method of Unit Testing.

System Testing: This strategy is followed to evaluate the entire system for given requirements, means the entire system is checked to see whether the system is developed according to the given specification or requirement. All functionalities are validated and checked properly that they are functioning properly and producing expected results.

User Acceptance Testing: is conducted just to ensure that all requirements and specifications are covered under the development or not, application is ready for delivery to the intended company or customer for acceptance. A dedicated team checks the entire system compliance with the business requirement, software is verified against all given specifications, so that at the acceptance level it should be approved by the company or

Wednesday, October 21, 2020

Use Case And Use Case Testing Examples Tutorial

Overview of Use Case Testing
Use case is the basic and important tool which is required to define the user interaction with the application under development or any new application. While developing a new module or application  or you want to modify the existing application software with the new module then we need a use case concept. In this situation when the software is under development then various discussions and meetings are conducted in order to define the software requirements. The critical part of this process is how you will define the exact user requirement for the application. All stakeholders, developers and experts should keep mutual understanding about the software requirement and user stories.

Definition of Use Case Testing
Use Case testing is the process of defining the actions how the application will be used by the user or actor step by step, its very common method. The steps are defined based on the actions taken by the users to interact with the software, it is a step by step process how the software will be used and multiple cases are created in order to test the application. It is a widely used method in software development. Use Case Testing is an application testing technique used to help and recognize to develop test cases that covers the complete application and modules, its a step by step method of transaction that interacts with the softwares. Multiple interactions are conducted with applications by users until we get the desired results from the application. It is the theory of testing to help identify the gaps between modules of softwares.

Who Conducts Use Case Testing:
Use Case testing is conducted by qualified professionals having prior valuable experience in software testing. Only an experienced professional can take necessary actions to understand the applications and create test cases. A tester is qualified engineers having a years of experience of testing various applications. It may be Manual Testing or Automation Testing, we will discuss in later chapters. He creates various test cases and uses cases of the respective modules, we will study in details in coming articles don't miss this. 

Feature of Use Case Testing:
Below are some of the important features of use case testing used for testing the application software project and offers good understanding and better response.
  • Use case testing has nothing to do with the software quality and quality assurance of the application, its the method of how the application will be used and interaction between user and softwares.
  • It is a limited testing up to module, it doesn't cover entire application, each module has its own use case testing. Every module has its own importance and separate use case testing method.
  • Every Use Case has a user/actor and the application software. Its a theory how user interacts with the application. These cases are used to find the bugs and gap in softwares.

Benefits of Use Case Testing:
How use case testing is beneficial in software development and how a developer can take advantage of the software as an actor, given below:
  • Use case defines how the software will be used. It is the theory of step by step conducted by the actor or user. Using these steps user interacts with the application and see how the system response. It should response with expected results.
  • It is the best method to find the Gap between steps, so that software should run in right flow. It should not have any gap. So it helps us to identify the gap and help developer to make application and user friendly.
  • Use case plays an important role in compturing the functional requirements of the application.
  • Use case testing is conducted before user acceptance, it is done by the testing professionals.
Examples of Use Case Testing
Every now and then we see Use Case in every where in our day to day life.  Here we will try to understand the Use Case testing with some live examples, how we can take advantage from this. How a step by step approach helps us to develop an error free softwares.

1. Example : Withdrawing Money From ATM Use Case
It is the most common scenario when a customer visit to near by ATM to withdraw money from ATM. This step by step approach is given below.
  1. User puts the ATM card in the machine.
  2. Enter its PIN to authenticate the user identity.
  3. if PIN is right then allow the user to withdrawal the money from ATM machine. If PIN is wrong then ask the user to try with accurate PIN.
  4. User enter the right PIN and do some operations like withdraw money, change pin request, check balance and others.
  5. When transactions are done then sign out.
2. Example : Uses Case For Login User Form
It is very common concept of every website or software when a user sign up and sign in back in every application. Without users website is nothing, there is no scope of the application when there is no user on the website. In this Use Case following points are covered step by step find the gap and fix it before the application is launched. A login form is a basic and most important from in website. Here below are the steps of use case:
  1. User opens the form by clicking on the given link or opening the given URL, Actor or user may sign up or sign in as per the need, both are the important step, here user click on the login button and go to login screens.
  2. Enters valid credentials like user and passwords and press Login button.
  3. System authenticate user with given user name and password, if the credentials are ok then it allows the user to sign in or generates warning.
  4. Now User is logs in the website and orders some products, pay the amount and logs out.
3. Example : Uses Case Testing For Newsletter Sign Up
Now comes at another very interesting and most common module of every website and blog. While surfing internet and traversing various websites and blog you have seen a newsletter sign up text box where user inputs email id for receiving monthly or weekly newsletter. Below basics steps taken by user when sign up for news letter:
  1. User visits any webpage and sees a textbox to enter email for newsletter sign up.
  2. User enters his email id and system validates it for proper syntax.
  3. If syntax is ok then it allows to sign up if wrong it asks user to enter right email id.
  4. User enter email id and press enter.
  5. System checks the entire process and accepts the email id as news letter.


 FOUNDATIONS OF SOFTWARE TESTING ISTQB CERTIFICATION Dorothy Graham foundation-software-testing-istqb-certification-dorothy-graham The ISTQB...