Vinita Malik1, Sukhdip Singh2
Vinita Malik1, Sukhdip Singh2
1Information Scientist, Central University of Haryana , Mahendergarh, Haryana,123029, India
2Deenbandhu Chhoturam University of Science and Technology , Murthal , Haryana, 131039,India
Corresponding author Email: firstname.lastname@example.orgABSTRACT:
The present research effort analyses various application areas of risk oriented testing and indentifies the gaps from the past .We need risk oriented testing not only for identifying risks in the projects but also for the maximum optimization of resources .Our research stresses on risk oriented testing in pervasive and evolutionary computational areas as due to dynamicity of such computing environment ,the project imbibes risk in great measure and needs to be taken care in early stages of the project . Risk oriented testing requires concentration in both of these application areas as extremely little work has been done in this regard.KEYWORDS:
Risk; Risk based testing; Software testing Life cycle; Pervasive computing; Evolutionary ComputingDownload this article as:
|Copy the following to cite this article:
Malik V, Singh S. Exploring Computing Environment Possibilities for Risk Oriented Testing. Orient.J. Comp. Sci. and Technol;10(3)
|Copy the following to cite this URL:
Malik V, Singh S. Exploring Computing Environment Possibilities for Risk Oriented Testing. Orient. J. Comp. Sci. and Technol;10(3). Available from: http://www.computerscijournal.org/?p=6217
Software testing requires selective and careful planning because it can not be done exhaustively. To increase the test effectiveness proper selection of test cases for testing is mandatory. As we know that risky scenarios requires proper identification because of very limited resources ,lack of time for not complete testing of system we need more focus on the areas where largest risks are found out . For avoiding software failures we need proper identification which can be done by several techniques like by brainstorming, experts knowledge ,brainstorming .
In the present paper we discuss risk oriented or risk based testing application domains and then tries to find out the gaps or shortcomings from the past.
We have gone through various search engines to find out the relevant articles i.e. Springer, IEEE Explore, IEEE computer Society , InderScience ,ACM digital library .
In this paper, we present results of analysis of various application domains of risk oriented testing.
The paper has been structured in various sections to answer the questions as followed:
RQ1: Which application domains for risk based testing has been explored most in the past?
RQ2: Which application areas has not been explored yet in risk oriented testing?
We have explained the risk based testing application areas used in past in section 2 and then have discussed about gaps in section 3 and finally concluded in the section 4.
Extensive survey has been done on risk oriented testing application areas employed in the past and then we have successfully found out the gaps.
Risk Based Testing Application Areas In The Past
Object Oriented Computing Environment
Various object oriented metrics can be used for identifying the classes having high risk values. These metrics can be Number of methods, weighted method per class , response per class ,RFC/NOM ,coupling between objects , depth in tree ,number of children .Identification of high risk can be done as a class that contains two or more than two metrics which exceed the recommended limits .The purpose is to identify all the high risk classes . Once the risky classes are identified then testing can be done to lessen the risk effect .
Cloud Computing Environment
In cloud computing security testing can be applied on 3 layers which are as follows:
- Platform layer
It has be to performed on 2 parties: Cloud providers that offers software as a service and cloud consumers that can develop custom applications .Cloud security can be improved by using risk oriented testing . Negative requirements can be derived by using the risk analysis on cloud under test. Living Models approach can be used which will result in changing risk model by adapting negative requirements. UML can be used for modelling  .The following figure 1 depicts the how risk oriented testing can be done in cloud environment.
Figure 1: Cloud environment risk based testing
Services Based Computing
Various service based computing environment have been used in past for risk based testing. Services may include IT services , Web services [4, 5].For IT services risk profiling can be done which is a function of time. By the help of testing risk profiling can be lowered down .Evolution of risk profile can occur with time is shown below in figure 2.
Figure 2: Risk profiling over time
In adaptive testing of web services we can assume that the tolerance towards a feature’s failure is basically an inverse ratio to the risk .Risky features are tested earlier than others .Ontology based risk calculation is done for the web services .We require run time monitoring system to find out the dynamic changes in configuration of given services.
Failure probability can be evaluated by first estimating the probability of failure of each ontology class and then by adjusting estimation of each class. Again we find out failure rate at interface services also. We do control flow analysis of whole system and do the final failure probability estimation . We quantitatively analyse risk by 3 layers of web services:
- Data layer
- Unit Layer
- Integration Layer
First complexity based analysis is done which is dependent on how much domain ontology model is complex .All control constructs failure probability is estimated as shown in the figure 3 given below .
Figure 3: Control Construct Failure Probability
Risk assessment can be done in parallel with test development and we need to decide tactics for service ranking . In the following figure 4 we can see how adaptive testing in groups can be done for web based services.
Figure 4: Adaptive testing of web based services
Web services can also be tested by help of fault tree diagrams in which leaf nodes are used to represent the dangerous scenarios  .Here we use state model diagram to look for system activities in order to test web transactions as shown in the figure 5 given below.
Figure 5: Activity state diagram of web transactions based system
While drawing system fault tree we need to consider several system properties i.e. Composition, Sorting, visibility, durability, consistency, recovery, controllability and accordingly can draw fault tree diagram which is shown below in figure 6 .
Figure 6: Fault tree representation
Software development and manufacturing computing environment
Half of the development time can be taken while manufacturing big machines. Proper test sequencing is to be done which can be done by AND OR graphical method. If the test time and cost exceeds the risk cost then we should stop the testing. For a software test phase its possible to evaluate the optimal test sequence which can do risk reduction in a given time frame . The required amount of subsystem testing can be calculated once the reliability tests can be calculated. Geometric distributed path lengths and Bernoulli type inspection errors can be used for reducing risk in software . Hypothesis testing can be done for Type 1 and Type 2 errors which are shown as in the table 1 given as follows:
Table 1: Hypothesis testing Type 1 and Type 2 errors
Node path representation of the software can also help in finding out defects which can be done as shown in the figure 7 given below :
Figure 7: To find software defects by node path representation
Industrial risk oriented testing Computing
Test effectiveness can be improved by considering customer priority and the fault proneness .Prioritization of test cases can be done on these factors. Fault detection rates can be evaluated and based on risk value can be prioritized. Risk based prioritization considers risk exposure as the main metric. Requirements volatile nature and implementation complexity also plays very important role in enterprise risk oriented computing environment .We also consider following metrics for the further evaluation which is as follows :
- Prioritization factor value
- Weighted priority
- Total Severity of failures detected
The required database relations can be depicted as follows in the figure 8.
Figure 7: Main Database relations
At the enterprise or industry level security concern is also really high. So threat modelling is also done by capturing high risk during the risk analysis phase by designing security test case scenarios. Abnormal behaviour of system is captured by the help of misuse cases . One example of abuse case template is given in the figure 8 given as follows:
Figure 8: Misuse cases example template
If the risk identification and assessment is synthesized successfully then determination of iteration policies, testing order and comprehensive testing can be done effectively.
In the small and medium enterprises which represent 85 % of software industries we require risk oriented testing for continuous process improvement. Mainly risks involved are project risks, business risks and product risks. Only large enterprises have risk complete understanding based on its definition which include probability and impact. More objective oriented process are followed for risk management only for the large enterprises not for the small ones. Informed decisions can be taken if risk information is not vague in nature . Risk based testing can be integrated in the industrial process  .Steps for the same is given below:
- Plan the Integration Process
- Identify all risk factors
- Assess all risky items
- Design and execute test cases
- Test planning by risk consideration
- Continuous improvement
Steps for the same are shown in the figure 9 given below:
Figure 9: Integrating risk oriented testing in industrial test process
Risk concept is dependent on context and scope in industries. Even if testing does not incorporate risk explicitly still it plays vital role in implicit manner also. To design the new test cases and for further classification understanding prioritization is also. Information about risk can be used for extension of scope of testing for the risky areas as here most of the critical issues are located .
Open Source software risk oriented testing Computing
To handle quality risks of open source software first data pre-processing takes place by community detection then monitoring of community takes place out of which anomalies are detected. The figure 10 given below indicates how risk oriented testing takes place in open source software.
Figure 10: Open Source software risk oriented testing
The community dynamics can be monitored by detection of anomaly between the members of community. Social network of communication is created which contains following as nodes:
- Team Member
How can be detect communities is shown below in the figure 11 given below:
Figure 11: How communities can be detected
Based on data processing by community detection we can further apply risk oriented testing as shown in the figure 12 given below :
Figure 12: Risk oriented Testing by test case selection and prioritization
Similarity based risk measurement has been applied in past where the execution traces if similar to past failing test cases
then it means degree of risk is really high in the project . The execution traces can be mined by Daikon tool.
Embedded Software Computing and Risk Oriented Testing
Fault tree analysis can be done on embedded systems and accordingly test cases can be derived, selected and prioritized as per severity level identified. Safety analysis can be done by fault tree analysis in which we have a set of events which are subset of a cut set of the fault tree .WE have the following type of test process in such cases as shown in the figure 13 given below :
Figure 13: Risk based test process
Networks based risk oriented computing
Various models of system can be utilized for composition of system models .Safety and availability information can be used to model the artifacts of system. Networked system is made of the various components that may have different or common object of control. Operating modes of the system can be of several types i.e. Initializing, clean up ,emergency ,deadhead .Following in the figure 14 is given how fault tree can be constructed and test cases can be generated .
Figure 14: Test case generation by fault tree analysis
Quality oriented Risk based testing
Active continuous quality control can be implemented by automata learning based modelling for prioritization of critical concepts. Alphabetic models are used to steer quality control process to increase the risk coverage. For risk minimization we need to maintain test models, instrumentation, execution environment and test evaluation procedures .Modelling layers for automatic quality control are given as follows in the figure 15 :
Figure 15 : Quality control modelling layers
Quality evaluation based on quality model i.e. QuaMoCo can be used with risk oriented testing .This model also operated on ISO 25010 by providing tool support for quality assessment .Product quality modelling  by ISO 25010 standard has been depicted following in the figure 16 as shown below .
Figure 16 : ISO 25010 quality model
Discussion and Findings
Risk oriented testing has been explored in several areas but no work has been done in case of pervasive computing and very little concentration has been done on evolutionary algorithms.
Pervasive Computing Environment
Also named as ubiquitous computing, pervasive computing environment is highly dynamic and evolutionary in nature .Risk oriented testing has not been applied yet in such type of environment. Such kind of computing is really complex in nature as we should be aware of user intent, high level energy for management, proactively handling and transparency is also required. We can combine distributed computing and mobile computing to form pervasive computing concepts which should be taken care while considering system risk levels for testing as shown below in figure 16 .
Figure 16: Pervasive computing Issues
Risks should be explored based on challenges in computing environment that include heterogeneity in environment, context awareness, access control, privacy , mobility, data communication and trust.
Evolutionary Algorithmic computing Environment
Evolutionary computation that is required for automatic design, problems optimization and machine learning and where selection of individual takes place by evaluation of fitness function. Various risks factors include for testing is finding optimal solution ,computationally expensive and requirement for parameter tuning .Evolutionary computation has also not been explored in risk oriented testing due to very dynamic and evolutionary nature of problems .
Conclusions and Future Work
Risk oriented testing computation has been explored in Object oriented, cloud computing, service based computing , software development , manufacturing process ,industrial ,open source software ,model based systems , embedded systems , network based systems and quality oriented systems but no work has been done on pervasive computing and evolutionary computation .So we propose work on both of these computational paradigms and risk oriented testing is required in early stages of the system for proper risk management of the system .
- L.Rosenberg, R. Stapko, A. Gallo, “Risk-based object oriented Testing” ,Proceeding of the 24th Annual Software Engineering Workshop, pp. 1–6. NASA, Software Engineering Laboratory,1999
- P.Zech, “Risk-based security testing in cloud computing environments , Proceeding of the Fourth International Conference on Software Testing, Verification and Validation (ICST’11), pp. 411–414. IEEE, New York ,2011
- J.Sauve, “Risk based Service Testing , Several approaches to the application of risk to IT Service Management”, IEEE Xplore ,106-109 ,2008
- X.Bai, R.S Kenett, W. Yu, “Risk assessment and adaptive group testing of semantic web services”,Int. J. Softw. Eng. Knowl. Eng. 22(05), 595–620 ,2012
- R. Casado, J. Tuya, M. Younas , “Testing long-lived web services transactions using a risk-based approach” , Proceeding of the 10th International Conference on Quality Software (QSIC’10),pp. 337–340. IEEE, New York ,2010
- R Boumen , “Risk-Based Stopping Criteria for Test Sequencing, IEEE Transactions on Systems, Man and Cybernetics”, Part A : Systems and Humans, Vol. 38, 1363-1373 ,2008
- T.Bagchi , “Models for software defects and testing strategies” ,SIGSOFT engineering notes , volume 34, pp. 1-4, 2009
- H. Srikanth, “ Requirements based test prioritization using risk factors: An industrial study, Information and Software Technology”, 69 ,71–83,2016
- K.Murthy, K.RThakkar., S.Laxminarayan, “Leveraging risk based testing in enterprise systems security validation”, Proceeding of the First International Conference on Emerging Network Intelligence (EMERGING’09), pp. 111–116. IEEE,New York ,2009
- M. Felderer, “ Risk orientation in software testing processes of small and medium enterprises: an exploratory and comparative study, International Journal of Software Quality J ,24:519–548 ,2016
- M.Felderer, R. Ramler , “Integrating risk-based testing in industrial test processes”, Springer Science+ Business Media, Software Qual J ,22:543–575 ,2014
- M. Felderer, “ A multiple case study on risk based testing in industry “, International Journal of software tools technology transfer ,16:609-625,2016
- I. Yahav , “Risk Based Testing of Open Source Software”, IEEE 38th Annual International Computers, Software and Applications Conference Workshops, 638-643,2014
- T. Noor, “Test Case Analytics: Mining Test Case Traces to Improve Risk-Driven Testing”, International Journal on Software Quality Assurance , IEEE Transactions , Volume-9, Issue-3, Pages 119- 127,2015
- J. Kloos , “ Risk based testing of safety critical embedded systems driven by fault tree analysis”, IEEE,2011
- T. Hussain, “ Automated fault tree generation and risk based testing of networked automation systems” , IEEE,2010
- J. Neubauer , “Risk based testing via active continuous quality control”, International journal of software tools technology transfer , Springer , 2014
- H. Foidl , “Integrating software quality models into risk-based testing”, Software Qual J, Springerlink.com,2016
- ISTQB: Standard glossary of terms used in software testing. version 2.2. Tech. rep., ISTQB ,2012
- M. Satyanarayanan, “Pervasive Computing: Vision and Challenges”, IEEE Personal Communications, 2001
- L.Bhaskar , “ Pervasive Computing issues, applications and challenges”,International Journal of Engineering and computer science , 2013