After finishing Testing fundamental lets focuses on the Approaches of Testing
There are two Approaches of testing
1.Static Approach
2.Dynamic Approach
Static Approach -In this approach the software work products are examined manually ,or with a set of tools but not executed. Some types of defects are easier to find in static approach.All software work products can be tested using review techniques.Review is part of static testing.
HOME PREVIOUS
There are two Approaches of testing
1.Static Approach
2.Dynamic Approach
Static Approach -In this approach the software work products are examined manually ,or with a set of tools but not executed. Some types of defects are easier to find in static approach.All software work products can be tested using review techniques.Review is part of static testing.
Dynamic
Approach -Software is executed using a set of input values and
its output is then examined and compared to what is expected. Dynamic approach/testing
can only be applied to the software code.
Different types of Dynamic approach/ testing
1.BlackBox
Testing – It is also known as Behavioral testing ,it is a software testing
method in which the internal structure/design/implementation of the item being
tested is not known to the tester.
2.WhiteBox
Testing – It is also known as clear box testing, Glass box testing or
Structural testing ,it is a software testing method in which the internal
structure/design/implementation of the item being tested is known to the
tester.
3.GrayBox
Testing – Gray box testing is a software testing method which is a
combination of black box and white box testing. In Gray box testing ,the
internal structure is partially known to the tester.This involves having access
to internal data structures and algorithms for purposes of desgining the test
cases but testing will be at black box level
Now we will discuss about the testing techniques
Now we will discuss about the testing techniques
1.Blackbox
testing technique – It is divided into 4 types
a. Equivalence
Partitioning
b. Boundary
Value Analysis
c. Decision
Tables
d. State
Transition Diagrams
Equivalence Partitioning – It is black box testing
method that divides the input domain of a program into classes of data from
which test cases can be derived. Test cases derived from equivalence partitioning
is based on an evaluation of equivalence classes for an input condition.
Boundary Value Analysis – BVA extends equivalence partitioning
by focusing on the data at the “edges” of an equivalence class.
Decision Tables –“Cause Effect” tables are covered in
Decision making of black box testing technique.
State Transition Diagrams –“Finite state machine” is
part of black box testing technique. In which a process from beginning till the
defect is closed and till the process is closed covered up.
2.White-Box
Technique – White-box technique includes :- control flow testing ,data flow
testing, branch testing, path testing
Code coverage – In this each line of code is being
executed
Design coverage – In this each Boolean expression like
if-else, do-while, while are being executed at least once
After finishing the basic concept of testing
lets talk about the Defects
Q. what do you mean by a defect ?
Ans- defect is non-accordance to user behavior or a defect is a condition in a software product which does not meet a software requirement or end user's expectations
- A program that contains a large number of bugs is said to be buggy.
- Reports detailing bugs in software are known as bug reports.
- Applications for tracking bugs are known as bug tracking tools.
- The process of finding the cause of bugs is known as debugging
There are two type of defects
1.Defect Severity
2.Defect Priority
Defect Severity - It basically tells how bad the bug is?
Defect Priority - It indicates " How much the business is getting affected by the defect".
there are 4 classification of defect severity and defect priority
1. High severity and High priority - example "when we are not able to login in our account" it can highly impact our business and it is a serious bug/defect.
2.Low severity and High priority - example " Spelling mistake in the name of company on company's website like airtl instead of airtel "
3.Low severity and Low Priority- example "there is drop down on second page of the website and spelling of haryana is wrong" or we can just a typo error.
4. High severity and Low priority - example " not able to take the printout from the website"
Lets now come to Defect Life-cycle
Defect Life-cycle
1.New - when the bug is posted for the first time , its state will be "NEW".This means that bug is not yet approved
2.Open - After a tester has posted a bug ,the lead of the tester approves that bug is genuine and he changes the state as "OPEN"
3.Assign - Once the lead changes the state as "OPEN",he assign the bug to corresponding developer or developer team. The state of the bug now is changed to "ASSIGN".
4.Deferred - The bug ,changed to deferred state means the bug is expected to be fixed in next releases.
5.Rejected - If the developer feels that the bug is not genuine, he rejects the bug.Then the state of bug is changed to "REJECTED".
6.Test - Once the developer fixes the bug,he has to assign the bug to the testing team for next round of testing.Before he releases the software with bug fixed,he changes the state of bug to "TEST".It specifies that the bug has been fixed and is released to testing team.
7.Reopened - If the bug still exists even after the bug is fixed by the developer,the tester changed the state to"REOPENED".The bug traverse the life-cycle once again.
8.Verified -Once the bug is fixed and the status is changed to "TEST",the tester tests the bug. If the bug is fixed and not present in software the state is changed to"VERIFIED"
9. Closed - Once the bug is fixed ,it is tested by the tester.If the tester feels that the bug no longer exists in the software,he changed the state of the bug to "CLOSED".
Defect Management Process
The typical defect management process includes the following high-level process steps. When implemented inside of a specific organization, each of these high-level steps would have more detailed standard operating procedures along with policies to carry out the details of the process.
1. Identification - This step involves the discovery of a defect. Hopefully, the person discovering the defect is someone on the testing team. In the real world, it can be anyone including the other individuals on the project team, or on rare occasions even the end-customer.
2. Categorization - When a defect is reported, it is typically assigned to a designated team member to confirm that the defect is actually a defect as opposed to an enhancement, or other appropriate category as defined by the organization. Once categorized, the defect moves on in the process to the next step which is prioritization.
3. Prioritization – Prioritization is typically based on a combination of the severity of impact on the user, relative effort to fix, along with a comparison against other open defects. Depending on the size and structure of the organization, the prioritization is often handled by a formal change control board. The priority should be determined with representation from management, the customer, and the project team.
4. Assignment - Once a defect has been prioritized, it is then assigned to a developer or other technician to fix.
5. Resolution - The developer fixes (resolves) the defect and follows the organization's process to move the fix to the environment where the defect was originally identified.
6. Verification - Depending on the environment where the defect was found and the fix was applied, the software testing team or customer typically verifies that the fix actually resolved the defect.
7. Closure - Once a defect has been resolved and verified, the defect is marked as closed.
8. Management Reporting - Management reports are provided to appropriate individuals at regular intervals as defined reporting requirements. In addition, on-demand reports are provided on an as-needed basis.
HOME PREVIOUS