SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
DOI:10.5121/ijcsa.2013.3203 23
TEST CASE PRIORITIZATION USING FUZZY LOGIC
BASED ON REQUIREMENT PRIORITIZING
Usha Badhera1
and Debarupa Biswas2
Computer Science Department, Banasthali University, India
1
ushas133@yahoo.com ,
2
biswas.debarupa@gmail.com
ABSTRACT
Boolean expressions are popularly used for modelling decisions or conditions in specifications or source
programs and they are very much prone to introduction of faults. Even for a Boolean expression with few
numbers of literals the possible number of test cases can be quite large. Boolean expressions with n
variables require 2n
test cases to distinguish from faulty expression. In practice, n can be quite large and
there are examples of specification having Boolean expressions with 30 or more variables. To test a system
based on Boolean specification in limited time, it is not possible to execute all test cases so prioritization is
required which leads to early fault detection in testing life cycle. There are various testing strategies for
generation of test cases for Boolean specifications like MUMCUT, which generate fewer test cases then 2n
with high probabilities of finding errors but their prioritization are not considering the criteria from user’s
perspective. We have proposed a new approach which prioritizes test cases based on requirement
prioritization. Our aim is to find the severe faults from user’s perspective early in the testing process and
hence to improve the quality of the software .This paper considers method for assigning weight value on the
basis of factors which generates the criteria for test case prioritization for Boolean Specifications. These
factors are: Business Value Measure (BVM), Project Change Volatility (PCV), and Development
Complexity (DC). Priority is assigned to test cases based upon these factors using fuzzy logic model.
KEYWORDS
Regression testing, Test case prioritization, Fuzzy-Based Approach, Requirement prioritization
1. INTRODUCTION
Requirements prioritization has become a relevant research area in requirements engineering thus
requiring more effective methods and techniques that enable to rank a whole set of requirements
based on factors such as business goals or development cost and many more. Requirement
prioritization plays a vital role in the requirement engineering process, identifying critical
requirements, can affect software release planning and requirement negotiation. Prioritized
requirements can be seen as the process of deriving an order relation on a given set of test cases
derived from those requirements [10].
1.1. Prioritization
Rothermel at el. [3, 4, 5, 6] defines the test case prioritization as:
Given: T, a test suite; PT, the set of permutations of T; f, a function from PT to the real numbers.
Problem: Find T ′ ε PT such that (for all T′′) (T′′ ε PT) (T′′≠ T′) [f (T′) ≥ f (T′′)]
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
24
Here, PT is the set of all possible ordering for prioritizations of T, and f is a function which when
applied to any such ordering, yields an award value for that ordering. The definition assumes that
higher award values are preferred over the lower ones. Requirement prioritization can have many
goals, in our study it is done to prioritize test cases. The objective of this study is to develop a test
case prioritization technique that prioritizes test cases for regression testing on the basis of
prioritized Boolean specifications. For this purpose requirements are prioritized according to
various factors which are important from business and implementation perspective.
2. PROPOSED WORK
This paper proposes a fuzzy logic based tool to prioritize requirements that will be considered for
prioritizing test case of Boolean specification. In this analysis using fuzzy logic we identified
important factors which lead to gathering of important requirements. From the literature survey,
we found list of factors that leads to the gathering of important requirements which are not
precisely specified. We constructed rule base using different rules as per expert’s guidance.
MATLAB has been used to develop a graphical user interface tool according to the rule base. The
tool considers factors from the requirement gathering phase as input and then generates output
which shows the impact on the requirements.
2.1 Important Factors influencing the requirement prioritization
Following factors can be considered to assign the weighted prioritization (WP) to the
requirements. Based on these following factors which are applied as inputs, weights are obtained
as output:
• Business Value Measure (BVM)
Requirements are rated according to its importance from customer’s business point of view. A
value to each requirement is assigned by the customer and this value can range from 1 to 100
where value 100 and value 1 represents the most critical and the least critical requirements
respectively. If time is limited and the project is close to deadline then the test cases need to be
prioritized according to the values assigned to these requirements. Requirements with lower
priority should be tested later. This is helpful in increasing the customer confidence level as it
increases the business value.
• Project Change Volatility (PCV)
PCV denotes the number of times project requirement undergoes changes in software
development life cycle (SDLC). Thus testing effort increases as PCV increases, as it leads to
delay in project completion which in turn may result in project which has high defect density. The
requirements which underwent most frequent changes are prioritized higher than the one with
least frequency of changes.
• Development Complexity (DC)
The requirements are analysed based on how complex is its implementation in terms of
development efforts, technology, environmental constraints and requirement feasibility matrix.
Highly complex requirements are prioritized higher [8].
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
25
2.2 Metric used for prioritization
All the prioritization factors get a fraction of the total assigned weight 1.0. These weights are
calculated using fuzzy rules described below in section 2.3. Equation. (1) is used to calculate a
weighted prioritization (WP) factor for every requirement that measures the importance of testing
a requirement earlier.
(1)
WP represents the weighted prioritization for the requirements computed using Equation (1). The
results will show the prioritization of test cases for the requirements. As factor-weights and
factor-values changes, the weighted prioritization varies accordingly [8].
2.3 Design Methodology
The impact levels are categorized into three levels as the impact of the factors may vary
according to different organization environments. The impact can be “Low”, “Medium”, and
“High”. Inputs are represented by fuzzy sets to design fuzzy inference system. Membership
functions are used to represent the fuzzy sets.
Some of the rules are given below:
1. If (BusinessValueMeasure (BVM) is Low) and (ProjectChangeVolatility (PCV) is Low) and
(Development Complexity (DC) is Low) Then (Weight is Low) (1)
2. If (BusinessValueMeasure (BVM) is Low) and (ProjectChangeVolatility (PCV) is Low) and
(Development Complexity (DC) is Medium) Then (Weight is Low) (1)
…………………
27. If (BusinessValueMeasure (BVM) is High) and (ProjectChangeVolatility (PCV) is High) and
(Development Complexity (DC) is High) Then (Weight is High) (1)
2.4 Implementation Procedure
Fuzzy inference system as given in figure shows the mapping of inputs and outputs. A case study
is used to explain the implementation method:
2.4.1 Case study
Let us consider the Boolean specification represented in DNF form “ab+cd+ef” which has three
requirements ab, cd and ef. The objective is to prioritize these requirements which can be further
used to prioritize test suite.
2.4.2 Input
Table-1:Input
Factors ab cd ef
Business Value
Measure(BVM)
40 80 60
Project Change
Volatility(PCV)
70 60 90
Development
Complexity(DC)
80 70 90
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
26
2.4.3 Fuzzy Inference System
Fuzzy inference system as given in figure shows the mapping of inputs and outputs. Here the
inputs are Business Value Measure, Project Change Volatility, Development Complexity and the
output is Weights.
Figure1. Fuzzy Inference System
2.4.4 Membership Function Editor
Membership function editor as given in figure below shows input and output variables along with
their range. The ranges for input and output can vary.
Figure2. Membership Function of an Input
Figure3. Membership Function of Output
2.4.5 Rule Editor
Rule editor helps to add, change and delete rules. In this rule base as shown in figure below, there
are 27 rules.
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
27
Figure 4. Rule Base
2.4.6 Defuzzification
The defuzzified value is obtained from the rule viewer. This value is the required weight for a
particular factor provided as input.
Figure5. Rule Viewer
2.4.7 Output
In the figure below, the weights are obtained from the fuzzy rules and WP is calculated from
Eq(1) which in turn gives us the prioritization order. Requirements are prioritized according to the
decreasing WP values. If for more than one requirement, we have the same WP value then we can
prioritize them in any order.
Table 2. Output
Factors ab cd ef Weights
BusinessValue
Measure(BVM)
40 80 60 0.400
ProjectChange
Volatility(PCV)
70 60 90 0.627
Development
Complexity(DC)
80 70 90 0.749
WP 119.81 122.05 147.84 1.000
Here the weights are calculated for each factor by applying the values for each requirement for a
particular factor as input to the fuzzy rules. For example:
• Weight for BVM: is obtained after applying [40 80 60] as input.
• Weight for PCV: input is [70 60 90]
• Weight for DC: input is [80 70 90]
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
28
The WP factor is calculated below based on the Eq (1) (refer section 2.2)
• WP for ab: (40*0.4)+(70*0.627)+(80*0.749)=119.81
• WP for cd: (80*0.4)+(60*0.627)+(70*0.749)=122.05
• WP for ef: (60*0.4)+(90*0.627)+(90*0.749)=147.84
Thus the requirements “ab”, “cd”, and “ef” should be prioritized in the following order based on
the descending values of WP.
Prioritized order is:
ef
cd
ab
So the test cases of “ef” should be executed first followed by “cd” and “ab”
3. CONCLUSION
This paper applies fuzzy logic to prioritize the test cases based on prioritization of the
requirements of Boolean specification which will lead to early fault detection based on the
criticality of the requirements according to Business Value Measure (BVM), Project Change
Volatility (PCV) and Development Complexity (DC). The effect of the rules has been observed
by simulating the model using fuzzy logic toolbox of MATLAB. In future, more factors will be
considered which in turn will help in getting more precise requirements from customers who can
further enhance the prioritization of testing.
REFERENCES
[1] Agarwal.K.K,Singh.Y,and,Kaur.A,(2004).”Code Coverage based technique for prioritizing test cases
for regression testing”, ACM SIGSOFT Software Engineering Notes, New York,NY,USA,volume29
Issue 5.
[2] Chen, T.Y,. Lau, M.F., Sim, K.Y., Sun, C.A,(2009).“On detecting faults for Boolean
expressions”,Software quality journal, vol. 17, no. 3, pp. 245-261.
[3] Rothermel.G, Untch.R.H, Chu.C, and Jean.M.H.(1999). “Test Case Prioritization: An Empirical
Study”, In Proceedings of the International Conference on Software Maintenance IEEE Computer
Society Washington, DC, USA.
[4] Rothermel.G ,& Harrold.M.J,(1996).”Analyzing Regression Test Selection Techniques”,IEEE
Transactions on Software Engineering, vol. 22, no. 8, pp. 529-551.
[5] Rothermal.G,Untch.R.H,Chu.C&Harrold.M.J,(2001).“Prioritizing test cases for Regression Testing”.
IEEETransactions on software Engineering,vol 27,no 10,pp. 929-948.
[6] Rothermel.G, Untch.R.H, Chu.C & Harold.M.J,(2001). “Test Case Prioritization”.IEEE Transactions
of software Engineering, 27(10),pp 928-948.
[7] Kaur.R,Bhardwaj.M,Malhotra.N,(2012). ”Analyzing Imprecise Requirements Using Fuzzy
Logic”.ISSN:2278-0181,Vol.1 Issue.
[8] Kumar.V, Sujata, Kumar.M,(2010).”Test Case Prioritization Using Fault Severity”. IJCST Vol
1,Issue , September.
[9] Chaudhury.N,Sangwan.O.P,Singh.Y,(2012).”Test Case Prioritization Using Fuzzy Logic for GUI
based Software”, IJCSA, Vol. 3, No. 12.
[10] Avesani.P,Bazzanella.C,Perini.A,Susi.A,(2004).”Supporting the Requirements Prioritization Process.
A Machine Learning Approach”, In Proceedings of the Sixteenth International Conference on
Software Engineering and Knowledge Engineering(SEKE),Banff,Alberta,Canada.
International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013
29
Authors
Usha Badhera is an active researcher in the field of software testing, currently working as
Assistant Professor in Department of Computer Science at Banasthali University
(Rajasthan), India. She has done MCA from Rajasthan University and her PhD is in
progress from Banasthali University (Rajasthan), India.
Debarupa Biswas is a student of M.Tech at Banasthali University(Rajasthan).She
received her MCS from Assam University, silchar(a central university) in 2010.Her area
of interest is Genetic Algorithms.

Contenu connexe

Tendances

Analogy Based Defect Prediction Model Elham Paikari Department of ...
Analogy Based Defect Prediction Model Elham Paikari Department of ...Analogy Based Defect Prediction Model Elham Paikari Department of ...
Analogy Based Defect Prediction Model Elham Paikari Department of ...
butest
 

Tendances (14)

Test software use case
Test software use caseTest software use case
Test software use case
 
Thesis Part II EMGT 699
Thesis Part II EMGT 699Thesis Part II EMGT 699
Thesis Part II EMGT 699
 
Reduced Software Complexity for E-Government Applications with ZEF Framework
Reduced Software Complexity for E-Government Applications with ZEF FrameworkReduced Software Complexity for E-Government Applications with ZEF Framework
Reduced Software Complexity for E-Government Applications with ZEF Framework
 
@#$@#$@#$"""@#$@#$"""
@#$@#$@#$"""@#$@#$"""@#$@#$@#$"""@#$@#$"""
@#$@#$@#$"""@#$@#$"""
 
Se
SeSe
Se
 
Optimazation
OptimazationOptimazation
Optimazation
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012
 
Analogy Based Defect Prediction Model Elham Paikari Department of ...
Analogy Based Defect Prediction Model Elham Paikari Department of ...Analogy Based Defect Prediction Model Elham Paikari Department of ...
Analogy Based Defect Prediction Model Elham Paikari Department of ...
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
Identifying Thresholds for Distance Design-based Direct Class Cohesion (D3C2)...
Identifying Thresholds for Distance Design-based Direct Class Cohesion (D3C2)...Identifying Thresholds for Distance Design-based Direct Class Cohesion (D3C2)...
Identifying Thresholds for Distance Design-based Direct Class Cohesion (D3C2)...
 
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
 
Bd36334337
Bd36334337Bd36334337
Bd36334337
 
Comparison of available Methods to Estimate Effort, Performance and Cost with...
Comparison of available Methods to Estimate Effort, Performance and Cost with...Comparison of available Methods to Estimate Effort, Performance and Cost with...
Comparison of available Methods to Estimate Effort, Performance and Cost with...
 
D0423022028
D0423022028D0423022028
D0423022028
 

Similaire à TEST CASE PRIORITIZATION USING FUZZY LOGIC BASED ON REQUIREMENT PRIORITIZING

A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docxA Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
ronak56
 
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docxA Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
makdul
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
HCL Technologies
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
IJCSES Journal
 

Similaire à TEST CASE PRIORITIZATION USING FUZZY LOGIC BASED ON REQUIREMENT PRIORITIZING (20)

Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritization
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...
 
Test case-point-analysis (whitepaper)
Test case-point-analysis (whitepaper)Test case-point-analysis (whitepaper)
Test case-point-analysis (whitepaper)
 
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docxA Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
 
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docxA Comprehensive Approach to Data Warehouse TestingMatteo G.docx
A Comprehensive Approach to Data Warehouse TestingMatteo G.docx
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Lightweight Processes: A Definition
Lightweight Processes: A DefinitionLightweight Processes: A Definition
Lightweight Processes: A Definition
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
 
A NOVEL APPROACH FOR TEST CASEPRIORITIZATION
A NOVEL APPROACH FOR TEST CASEPRIORITIZATIONA NOVEL APPROACH FOR TEST CASEPRIORITIZATION
A NOVEL APPROACH FOR TEST CASEPRIORITIZATION
 
Some practical considerations and a
Some practical considerations and aSome practical considerations and a
Some practical considerations and a
 
csc 510 Project
csc 510 Projectcsc 510 Project
csc 510 Project
 
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTING
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTINGFROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTING
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTING
 
From the Art of Software Testing to Test-as-a-Service in Cloud Computing
From the Art of Software Testing to Test-as-a-Service in Cloud ComputingFrom the Art of Software Testing to Test-as-a-Service in Cloud Computing
From the Art of Software Testing to Test-as-a-Service in Cloud Computing
 
Smef2008 Van Heeringen Outsourcing Testing Activities – How To Prove Cost R...
Smef2008 Van Heeringen   Outsourcing Testing Activities – How To Prove Cost R...Smef2008 Van Heeringen   Outsourcing Testing Activities – How To Prove Cost R...
Smef2008 Van Heeringen Outsourcing Testing Activities – How To Prove Cost R...
 
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATIONTRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: Testability
 
Testing throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesTesting throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniques
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

TEST CASE PRIORITIZATION USING FUZZY LOGIC BASED ON REQUIREMENT PRIORITIZING

  • 1. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 DOI:10.5121/ijcsa.2013.3203 23 TEST CASE PRIORITIZATION USING FUZZY LOGIC BASED ON REQUIREMENT PRIORITIZING Usha Badhera1 and Debarupa Biswas2 Computer Science Department, Banasthali University, India 1 ushas133@yahoo.com , 2 biswas.debarupa@gmail.com ABSTRACT Boolean expressions are popularly used for modelling decisions or conditions in specifications or source programs and they are very much prone to introduction of faults. Even for a Boolean expression with few numbers of literals the possible number of test cases can be quite large. Boolean expressions with n variables require 2n test cases to distinguish from faulty expression. In practice, n can be quite large and there are examples of specification having Boolean expressions with 30 or more variables. To test a system based on Boolean specification in limited time, it is not possible to execute all test cases so prioritization is required which leads to early fault detection in testing life cycle. There are various testing strategies for generation of test cases for Boolean specifications like MUMCUT, which generate fewer test cases then 2n with high probabilities of finding errors but their prioritization are not considering the criteria from user’s perspective. We have proposed a new approach which prioritizes test cases based on requirement prioritization. Our aim is to find the severe faults from user’s perspective early in the testing process and hence to improve the quality of the software .This paper considers method for assigning weight value on the basis of factors which generates the criteria for test case prioritization for Boolean Specifications. These factors are: Business Value Measure (BVM), Project Change Volatility (PCV), and Development Complexity (DC). Priority is assigned to test cases based upon these factors using fuzzy logic model. KEYWORDS Regression testing, Test case prioritization, Fuzzy-Based Approach, Requirement prioritization 1. INTRODUCTION Requirements prioritization has become a relevant research area in requirements engineering thus requiring more effective methods and techniques that enable to rank a whole set of requirements based on factors such as business goals or development cost and many more. Requirement prioritization plays a vital role in the requirement engineering process, identifying critical requirements, can affect software release planning and requirement negotiation. Prioritized requirements can be seen as the process of deriving an order relation on a given set of test cases derived from those requirements [10]. 1.1. Prioritization Rothermel at el. [3, 4, 5, 6] defines the test case prioritization as: Given: T, a test suite; PT, the set of permutations of T; f, a function from PT to the real numbers. Problem: Find T ′ ε PT such that (for all T′′) (T′′ ε PT) (T′′≠ T′) [f (T′) ≥ f (T′′)]
  • 2. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 24 Here, PT is the set of all possible ordering for prioritizations of T, and f is a function which when applied to any such ordering, yields an award value for that ordering. The definition assumes that higher award values are preferred over the lower ones. Requirement prioritization can have many goals, in our study it is done to prioritize test cases. The objective of this study is to develop a test case prioritization technique that prioritizes test cases for regression testing on the basis of prioritized Boolean specifications. For this purpose requirements are prioritized according to various factors which are important from business and implementation perspective. 2. PROPOSED WORK This paper proposes a fuzzy logic based tool to prioritize requirements that will be considered for prioritizing test case of Boolean specification. In this analysis using fuzzy logic we identified important factors which lead to gathering of important requirements. From the literature survey, we found list of factors that leads to the gathering of important requirements which are not precisely specified. We constructed rule base using different rules as per expert’s guidance. MATLAB has been used to develop a graphical user interface tool according to the rule base. The tool considers factors from the requirement gathering phase as input and then generates output which shows the impact on the requirements. 2.1 Important Factors influencing the requirement prioritization Following factors can be considered to assign the weighted prioritization (WP) to the requirements. Based on these following factors which are applied as inputs, weights are obtained as output: • Business Value Measure (BVM) Requirements are rated according to its importance from customer’s business point of view. A value to each requirement is assigned by the customer and this value can range from 1 to 100 where value 100 and value 1 represents the most critical and the least critical requirements respectively. If time is limited and the project is close to deadline then the test cases need to be prioritized according to the values assigned to these requirements. Requirements with lower priority should be tested later. This is helpful in increasing the customer confidence level as it increases the business value. • Project Change Volatility (PCV) PCV denotes the number of times project requirement undergoes changes in software development life cycle (SDLC). Thus testing effort increases as PCV increases, as it leads to delay in project completion which in turn may result in project which has high defect density. The requirements which underwent most frequent changes are prioritized higher than the one with least frequency of changes. • Development Complexity (DC) The requirements are analysed based on how complex is its implementation in terms of development efforts, technology, environmental constraints and requirement feasibility matrix. Highly complex requirements are prioritized higher [8].
  • 3. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 25 2.2 Metric used for prioritization All the prioritization factors get a fraction of the total assigned weight 1.0. These weights are calculated using fuzzy rules described below in section 2.3. Equation. (1) is used to calculate a weighted prioritization (WP) factor for every requirement that measures the importance of testing a requirement earlier. (1) WP represents the weighted prioritization for the requirements computed using Equation (1). The results will show the prioritization of test cases for the requirements. As factor-weights and factor-values changes, the weighted prioritization varies accordingly [8]. 2.3 Design Methodology The impact levels are categorized into three levels as the impact of the factors may vary according to different organization environments. The impact can be “Low”, “Medium”, and “High”. Inputs are represented by fuzzy sets to design fuzzy inference system. Membership functions are used to represent the fuzzy sets. Some of the rules are given below: 1. If (BusinessValueMeasure (BVM) is Low) and (ProjectChangeVolatility (PCV) is Low) and (Development Complexity (DC) is Low) Then (Weight is Low) (1) 2. If (BusinessValueMeasure (BVM) is Low) and (ProjectChangeVolatility (PCV) is Low) and (Development Complexity (DC) is Medium) Then (Weight is Low) (1) ………………… 27. If (BusinessValueMeasure (BVM) is High) and (ProjectChangeVolatility (PCV) is High) and (Development Complexity (DC) is High) Then (Weight is High) (1) 2.4 Implementation Procedure Fuzzy inference system as given in figure shows the mapping of inputs and outputs. A case study is used to explain the implementation method: 2.4.1 Case study Let us consider the Boolean specification represented in DNF form “ab+cd+ef” which has three requirements ab, cd and ef. The objective is to prioritize these requirements which can be further used to prioritize test suite. 2.4.2 Input Table-1:Input Factors ab cd ef Business Value Measure(BVM) 40 80 60 Project Change Volatility(PCV) 70 60 90 Development Complexity(DC) 80 70 90
  • 4. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 26 2.4.3 Fuzzy Inference System Fuzzy inference system as given in figure shows the mapping of inputs and outputs. Here the inputs are Business Value Measure, Project Change Volatility, Development Complexity and the output is Weights. Figure1. Fuzzy Inference System 2.4.4 Membership Function Editor Membership function editor as given in figure below shows input and output variables along with their range. The ranges for input and output can vary. Figure2. Membership Function of an Input Figure3. Membership Function of Output 2.4.5 Rule Editor Rule editor helps to add, change and delete rules. In this rule base as shown in figure below, there are 27 rules.
  • 5. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 27 Figure 4. Rule Base 2.4.6 Defuzzification The defuzzified value is obtained from the rule viewer. This value is the required weight for a particular factor provided as input. Figure5. Rule Viewer 2.4.7 Output In the figure below, the weights are obtained from the fuzzy rules and WP is calculated from Eq(1) which in turn gives us the prioritization order. Requirements are prioritized according to the decreasing WP values. If for more than one requirement, we have the same WP value then we can prioritize them in any order. Table 2. Output Factors ab cd ef Weights BusinessValue Measure(BVM) 40 80 60 0.400 ProjectChange Volatility(PCV) 70 60 90 0.627 Development Complexity(DC) 80 70 90 0.749 WP 119.81 122.05 147.84 1.000 Here the weights are calculated for each factor by applying the values for each requirement for a particular factor as input to the fuzzy rules. For example: • Weight for BVM: is obtained after applying [40 80 60] as input. • Weight for PCV: input is [70 60 90] • Weight for DC: input is [80 70 90]
  • 6. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 28 The WP factor is calculated below based on the Eq (1) (refer section 2.2) • WP for ab: (40*0.4)+(70*0.627)+(80*0.749)=119.81 • WP for cd: (80*0.4)+(60*0.627)+(70*0.749)=122.05 • WP for ef: (60*0.4)+(90*0.627)+(90*0.749)=147.84 Thus the requirements “ab”, “cd”, and “ef” should be prioritized in the following order based on the descending values of WP. Prioritized order is: ef cd ab So the test cases of “ef” should be executed first followed by “cd” and “ab” 3. CONCLUSION This paper applies fuzzy logic to prioritize the test cases based on prioritization of the requirements of Boolean specification which will lead to early fault detection based on the criticality of the requirements according to Business Value Measure (BVM), Project Change Volatility (PCV) and Development Complexity (DC). The effect of the rules has been observed by simulating the model using fuzzy logic toolbox of MATLAB. In future, more factors will be considered which in turn will help in getting more precise requirements from customers who can further enhance the prioritization of testing. REFERENCES [1] Agarwal.K.K,Singh.Y,and,Kaur.A,(2004).”Code Coverage based technique for prioritizing test cases for regression testing”, ACM SIGSOFT Software Engineering Notes, New York,NY,USA,volume29 Issue 5. [2] Chen, T.Y,. Lau, M.F., Sim, K.Y., Sun, C.A,(2009).“On detecting faults for Boolean expressions”,Software quality journal, vol. 17, no. 3, pp. 245-261. [3] Rothermel.G, Untch.R.H, Chu.C, and Jean.M.H.(1999). “Test Case Prioritization: An Empirical Study”, In Proceedings of the International Conference on Software Maintenance IEEE Computer Society Washington, DC, USA. [4] Rothermel.G ,& Harrold.M.J,(1996).”Analyzing Regression Test Selection Techniques”,IEEE Transactions on Software Engineering, vol. 22, no. 8, pp. 529-551. [5] Rothermal.G,Untch.R.H,Chu.C&Harrold.M.J,(2001).“Prioritizing test cases for Regression Testing”. IEEETransactions on software Engineering,vol 27,no 10,pp. 929-948. [6] Rothermel.G, Untch.R.H, Chu.C & Harold.M.J,(2001). “Test Case Prioritization”.IEEE Transactions of software Engineering, 27(10),pp 928-948. [7] Kaur.R,Bhardwaj.M,Malhotra.N,(2012). ”Analyzing Imprecise Requirements Using Fuzzy Logic”.ISSN:2278-0181,Vol.1 Issue. [8] Kumar.V, Sujata, Kumar.M,(2010).”Test Case Prioritization Using Fault Severity”. IJCST Vol 1,Issue , September. [9] Chaudhury.N,Sangwan.O.P,Singh.Y,(2012).”Test Case Prioritization Using Fuzzy Logic for GUI based Software”, IJCSA, Vol. 3, No. 12. [10] Avesani.P,Bazzanella.C,Perini.A,Susi.A,(2004).”Supporting the Requirements Prioritization Process. A Machine Learning Approach”, In Proceedings of the Sixteenth International Conference on Software Engineering and Knowledge Engineering(SEKE),Banff,Alberta,Canada.
  • 7. International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.2, April 2013 29 Authors Usha Badhera is an active researcher in the field of software testing, currently working as Assistant Professor in Department of Computer Science at Banasthali University (Rajasthan), India. She has done MCA from Rajasthan University and her PhD is in progress from Banasthali University (Rajasthan), India. Debarupa Biswas is a student of M.Tech at Banasthali University(Rajasthan).She received her MCS from Assam University, silchar(a central university) in 2010.Her area of interest is Genetic Algorithms.