Subject Software Metrics Class 5th Semester Report Title: Uses of software metrics in the area of Software Testing Report Prepared By: Mohsin-Mustafa Report Submitted To: Ma’am Momina Registration No. BSSE-10153005 Submitted date: 8-1-2018 ACKNOWLDGEMENTI express my thanks to Ma’am Mominaof University of Lahore Pakpattan Campus for havingprovided me the facilities to do the Software Testing report successfully. TABLE OF CONTENTS Title Page No. Executive Summary Introduction Background Purpose Scope Report Organization Discussion/Analysis Methodology Findings Conclusions & Recommendations References Appendices Executive SummaryIn the current trend most of thesoftware is required to be evaluated for two reasons. One the customer wants toget satisfied from the quality of the product which he will be going to usebecause he has invested a lot of amount to get the product.
Two the developerswant to quantify the quality so that his effort in further stages and inmaintenance must not increased due to low quality. The testing is required tobe fast and with less effort that is through the automated testing tools. Thesetback is confusion of way of selection of tool. The positive side of thepaper is that it helps the developer in deciding the best testing tool as perhis project by calculating the metrics value for the available tools in hand.
The weakness of the proposed work is that it required a bit of time and effortin doing calculations for evaluating the tools and some data may also be neededin calculation of metrics.As per the experience we haveduring the work, we would like to mention our view for the further extension ofthis work. The upper and lower bound of the tools metrics must be investigated.
The more number of tools must be exposed to metrics to have the furtherempirical analysis. The categorization of the tools on the basis offunctionality is required and the specification of particular metric for thattype may be suggested. An algorithmic approach may be generated to have thefast automated evaluation of metrics which may reduce the effort to calculatethe metrics and automated suggestion for the better tools may also be a workpiece. Ø IntroductionSoftware Metrics is a measurementbased technique which is applied to processes, products and services to supply engineeringand management information and working on the information supplied to improveprocesses, products and services, if required. Software Testing Metrics are experimentalmeasures that could be used to measure different characteristics of a softwaresystem or the software development process. In recent years software testing technologieshave appeared as a leading software engineering practice which helps ineffective cost control, quality improvements, time and risk reduction etc.
We need metrics because it helps usin understanding the type of improvement required and helps in taking decisionson process or technology change. The importance of metricsis to improve the quality and productivity of products and services throughcustomer satisfaction. Metrics provides enhancement for current processes.Importanceof MetricsMetrics is used to improve thequality and productivity of products and services thus achieving CustomerSatisfaction.Easy for management to digest onenumber and drill down, if required.
Different Metric(s) trend act asmonitor when the process is going out-of-control.Metrics provides improvement forcurrent process. · BackgroundWhat is SoftwareTesting Metric?In softwaretesting, Metric is a quantitative measure of the degree to whicha system, system component, or process possesses a given attribute.
In other words, metrics helpsestimating the progress, quality and health of a software testing effort. Theideal example to understand metrics would be a weekly mileage of a car comparedto its ideal mileage recommended by the manufacturer.There is a need to establish asoftware testing process that is cost effective and efficient tomeet the market pressures of delivering low cost and quality software.Measurement is a key element of an effective and efficient software testingprocess as it evaluates the quality andeffectiveness of the process. Moreover, it assesses the productivity of thepersonnel involvedin testing activities and helps improving the software testing procedures,methods, tools andactivities 21. Gathering of software testing related measurement data andproper analysisprovides an opportunity for the organizations to learn from their past historyand grow insoftware testing process maturity.
Measurement is a tool through which the management identifies important eventsandtrends, thus enabling them to make informed decisions. Moreover, measurementshelp inpredicting outcomes and evaluation of risks, which in turn decreases theprobability ofunanticipated surprises in different processes. In order to face the challengesposed by therapidly changing and innovative software industry, the organizations that cancontrol theirsoftware testing processes are able to predict costs and schedules and increasetheeffectiveness, efficiency and profitability of their business 22.Therefore,knowing andmeasuring what is being done is important for an effective testing effort 9. Metrics LifeCycleType of Software Testing MetricsBased on the types of testing performed,following are the types of software testing metrics: -1.
Manual Testing Metrics2. Performance Testing Metrics3. Automation Testing MetricsManual Testing MetricsTest Case Productivity (TCP)This metric gives the test case writing productivity basedon which one can have a conclusive remark. Example Test Case Name Raw Steps XYZ_1 30 XYZ_2 32 XYZ_3 40 XYZ_4 36 XYZ_5 45 Total Raw Steps 183 Efforts took for writing 183 stepsis 8 hours.TCP=183/8=22.8Test case productivity = 23steps/hour Defect Acceptance (DA)This metric determine the number ofvalid defects that testing team has identified during execution.
The value of this metric can becompared with previous release for getting bet pictureDefect Rejection (DR)This metric determine the number ofdefects rejected during execution. Bad Fix Defect (B)Defect whose resolution give riseto new defect(s) are bad fix defect.This metric determine theeffectiveness of defect resolution process. Test Efficiency (TE)This metric determine the efficiency of the testing team inidentifying the defects.It also indicated the defects missed out during testingphase which migrated to the next phase.
Where,DT = Number of valid defects identified during testing.DU = Number of valid defectsidentified by user1.2 PurposeThe purposeof this thesis is to offer visibility in to the software testing process usingmeasurements. The focus of this thesis is at the possible measurements in theTest Planningand Test Design process of the system testing level.Why do Test Metrics?”We cannot improve what wecannot measure” and Test Metrics helps us to do exactly the same.Take decision for next phase ofactivitiesEvidence of the claim or predictionUnderstand the type of improvementrequiredTake decision or process ortechnology change· ProcessMetrics:It can be used to improve theprocess efficiency of the SDLC ( Software Development Life Cycle)· ProductMetricsIt deals with the quality of thesoftware product· ProjectMetrics It can be used to measure theefficiency of a project team or any testing tools being used by the teammembers Discussion/AnalysisA detailed and comprehensiveliterature study will be carried out to gather material related tosoftware testing lifecycle in general and for software test planning, testdesign and metrics inparticular.
The literature study will encompass the material as written down inarticles, booksand web references.The literature study is conducted with the purpose of finding key areas ofinterest relatedto software testing and metrics support for test planning and test design processes.Theliterature study is divided into two steps.
The first step creates a relevantcontext byanalyzing key phases in thesoftware testing lifecycle, inputs required for starting thesoftware test planning and test design processes and metrics indicating the endof these twoprocesses. The second step identifies the attributes of software test planningand test designprocesses along with metric support for each of the identified attributes.While performing the literature study, it is important to define a searchstrategy. Themain search engines used in the study were IEEE Xplore and ACM digital library.Thesearch was performed with combination of various key terms that we wereinterested in. Byusing of the above mentioned search engines and using combination of terms forsearching,we expect to have minimized the chances of overlooking papers and literature.
In addition,manual search was performed on the relevant conference proceedings. The mostnotable ofthese is the International Software Metrics Symposium proceedings. In additionto IEEEXplore and ACM digital library, web search engines Google and Yahoo were usedoccasionally with the purpose of having a diverse set of literature sources.For each paper of interest, relevant material was extracted and comparedagainst theother relevant literature. Specifically; the abstract, introduction and theconclusion of each ofthe articles were studied to assess the degree of relevance of each article.The references atthe end of each research paper were also quickly scanned to find more relevantarticles.
Thena summary of the different views of authors was written to give readerdifferent perspectivesand commonalities on the topic.It is also worth mentioning the use of books written by well-known authors inthe fieldof software metrics and software testing. It is to complement thesummarizations done fromthe research articles found from above mentioned search strategy. A total oftwenty fivebooks were referred. The reference lists given at the end of relevant chaptersin these booksalso proved a valuable source of information ConclusionToday, the majority of the metricsin software testing are based on test execution phase andon the basis of number of faults found in test execution.
There is an apparentgap when weare interested in metrics for test planning and test design processes.Therefore, by focusingon the metric support in the test planning and test design processes, thisthesis hascontributed in filling part of this gap.The measurable attributes ofsoftware test planning and test design are not mentioned inliterature in a consolidated form. By identifying seventeen attributes forsoftware testplanning and thirty one attributes for software test design processes, thethesis serves toconsolidate the attributes that are useful for measurement. The thesispartitioned theattributes in different categories, for software test planning there are fourcategories whilethere are five for software test design process. Such a categorization is acontributiontowards assigning classes to the identified attributes, which may enticefurther researchwithin each category.
The thesis discussed metric support for the identified attributes for the testplanning andtest design processes. Again, there were different studies contributing to themeasurement ofeach attribute. The thesis presented the different ways to measure each of theattributes withthe intention to provide a variety of methods for the reader to think of andchoose accordingto the context of the situation at hand.An interesting aspect resulting from this thesis is that although measurementshelpinformed decision making, but a degree of subjectivity, expert judgment andanalogy stillplays an important role in the final decision relating to software testplanning and test design.Therefore, reaching a decision must interplay between knowledgeable judgmentand metricresults.
An organization can build a metrics program for its software test planning andtestdesign processes on the foundations of attributes identified in the thesis. Itis expected thatsuch an effort will lead to informed decision making about different softwaretestingactivities, in addition to the formulation of a baseline for measuringimprovement.Metric is the cornerstone inassessment and foundation for any business improvement. It is a MeasurementBased Technique which is applied to processes, products and services to supplyengineering and management information and working on the information suppliedto improve processes, products and services, if required.
It indicates level ofCustomer satisfaction, easy for management to digest number and drill down,whenever required and act as monitor when the process is going out-of-control.