0% found this document useful (0 votes)
6 views22 pages

Chapter 9 - Software Testing

Uploaded by

Ishwor Nepal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
6 views22 pages

Chapter 9 - Software Testing

Uploaded by

Ishwor Nepal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
SOFTWARE TESTING Me (CHAPTER OUTLINE After studying this chapter, the reader will be able to understand the Software Verification and Validation Software Inspection. Software Testing Software Testing Prouess Testing Methods Functional Testing Quality Management Software Measurement and Metric eaaes aad Scanned wth Camscaner verification and validat les check the software goftwar® must verify and validate the software it produces. This roe ts against its 5 va 4 is done by: item meets specified requirements, checking each software item another activity, ensuring that checks on each software item ay by someone other than the author and ensuring that the amount of v¢ s yion ert 8 adequate to shOW each software item is suitable for ¢ Lon and validation is the name given to checking an analyzing proce ee confirms to its specification and meets the need of customer who are Paying for that = wae It is the whole lifecycle process that starts with requirement review and pee ae design review and code inspection to product testing, V & V are independent edure that is used together for checking that a product service or system meets requirement specifications and that it fulfills its intended purpose. Whatever the size of Project, software retifcation and validation greatly affects software quality. People are not infallible, and software that has not been verified has little chance of working. Pecifications, “checking that before it is used re done, as far ag ch software qput © sean input! ile erification and Perational use, 'sses that ensure Verification Verification refers to the set of activities that ensure that software correctly implements specific functions. It ensures that the product has been built according to the requirement and design specification, It makes sure that the product is designed to deliver all functionality to the «ustomer. Verification is done at the development process and includes reviews and meeting, 'spection etc. to evaluate documents, plan code, requirements and specifications. Suppose you “econstructing a table then verification is about checking all the parts of table, whether all legs + ofconee size or not, It one leg is not of the correct size it will imbalance the end product. Verification is the demonstration of consistency, completeness and correctness of the software tsich sage and between each stage of the development lifecycle. It is expressed as: Are we building the Product right? Advantages ; of * Verification helps in lowering down the count of the defect in the later stages development, 7 ill help in Verifying the product at the starting phase of development will help understanding the product in better way. UW reduces the chance of failure in software product stcation and needs. "helps in building the product as per the customer specification 2 Seamed wth Camscanner Software Testing O Validation Validation refers to the set of ai a ‘ctivities that ensure that software that has been built is traceable le custc i is it ; ‘omer requirements. It is intended to show that the software does what the user Tequires. Validation conce:ns with and perfor needs, determining if the system complies with the requirements vs a functions for which it is intended and meets the organizations goals and user One at the end of the development process and takes place after verifications are completed. It answers the question like: Are we building the right product? Advantages * It some defects are missed in verification, then during validation defect can be caught as failures, If specification is misunderstood and development had happened then during validation process while executing that functionality the difference between the actual result and expected result can be understood. * Validation helps in building the right product as per the customer's requirement and helps in satisfying their needs. * Validation is basically done by the testers during the testing. ‘erence between Verification and Validation It is the process of evaluating product of development phase to find out whether they|end to determine whether it meets the meet the requirement and — design|customer expectations and requirements. specification. Objective Is fo make sure that product fs as|Objective is to make sure that product actually meet up the user's requirements. per specification i revi fi ivities are testing like: black box testin Hi ‘ved are: review, meetings and | Activi o. ferred | white box testing etc. inspections ferification is carried out by QA team Validation is carried out by testing team. Verifica ; under | Execution of code comes under validation 5 lode is not comes Execution of ¢ verification i Cost of error caught is more than verification. ini is less than validation Cost of error coug! 5 Jalchecking of documents|tt is basically checking of developed eo ement specication, _design|sotiware by executing source code, require test cases etc m right? like: specification. oa ‘Are we building the right system? jing the ‘Are we building [Are we pulene’ Scanned wth Camscaner 136 CQ) Sorrware Exomeremo Software inspection is a control technique for ensuring that the documentation produced during a given phase remains consistent with the documentation of the previous phases and respects reestablished rules and standards, It is a technique to analyze and check system representation such as requirement document, design diagrams and program source code with executing it. It can be used as verification technique techniques before software is implemented. Inspection have proved to be an effective techniques of error detection, error can be found more cheaply through inspection than by extensive program testing. The aim of inspection is to locate faults and process should be driven by fault check list. Inspection key Points © It is most formal review type + Itis lead by trained moderator * Documents are prepared and checked thoroughly by the reviewer. + A separate preparation is carried out during which product is examined and defects are found + Ithelps the author to improve the quality of the documents under inspection © Itremoves the defects efficiently and as early as possible © Itimproves product quality «It creates common understanding by exchanging information ‘+ Itlearn from defects found and prevent the occurrence of similar defects. Inspection Roles During an inspection, following roles are used | Author: An author is the person who created the work product being inspected. Author is responsible for producing the program or document, fixing defects discovered during the inspection process. + Moderator: Moderator is the leader of the inspection plans the inspection and coordinates it. Moderator reports process results to the chief moderator. * Chief Moderator: Responsible for inspection process improvement, checklist updating, standards developments etc. © Reader: Reader is the person reading through the documents one item at a time presents the code or documents at inspection meeting. Scanned wth Camscaner Software Testing O «_ Recorder/Seribe: The person that documents the defects that are found during the inspection is recorder. «Inspector: Inspector is the person that examines the work product to identify possible Uefects, finds errors, omissions and inconsistencies in the code and documents. Inspection Process Inspections are a formal proce ss used to identify and correct errors in a completed deliverable, before the deliverable is used as input to a subsequent deliverable. For example, after inspection, the Requirements Definition is released for reference by the Functional Design Specification. The focus of the inspection process is on finding defects, rather than solutions, which can divert the inspection meeting time. The inspection process is conducted by dividing an entire deliverable, such as the Requirements Definition, into manageable pieces that can be optimally inspected in a meeting, The stages in inspection process are: planning, overview, meeting, individual preparation, inspection meeting, rework and follow-up. —_ 4, Fig: Software Inspection Process Planning: The inspection is planned by the moderator which involves selecting an inspection team, organizing a meeting room and ensuring that the material to be inspected and its specifications are complete. Overview: In this step, the software and documents to be inspected are presented to the inspection team where author of the code describes the background of the work product. Individual Preparation: In this stage, each inspection team member studies the specification and the program and looks for the defects and identifies possible defects. Inspection Meeting: During this meeting, the readers read through the work product ce by part and inspectors point out defects for every part. Inspection meeting should be irly short no more than two hours and should be focused on defect detection. Rework: In ty work: In this stage, the author makes changes to work product according tothe ation plan from the inspecticin meeting Follow up: In thi meen In this step, the changes made by the author are checked to make sure tt ae es The moderator should decide whether reinspection of the code and Tequired. If not the software is then approved by moderator for release. Scanned wth Camscaner sing is an investigation conducted to provide stakeh ~ getwar® be the product or service under test. It is the Process:of executin, Sd software bugs and to ensure that it satisfies the Specified require intent Si for executing a system in order to identify any BPS, error oF missin ments, Test is ees othe actual desire or requirements 1 Fequirements in a ig tested for validating and verifying software to ensure the vents that guided its design and development and works as exp. independent view of software to allow the business to appreci iolders with information about B Software with the business. and technical ected, It also provide an iate and understand the eu abjctives ‘shot software implementation. software Testing Necessicity Software testing is very important because of following reasons. + Software testing is required to point out the defect and errors that were made during the development phases. + Itis essential since it makes sure of the customer's reliability and their satisfaction in the application. * Itis very important to ensure the quality of the product. Testing is required for an effective performance of software product. Testing is necessary in order to provide the facilities to the customer like the delivery of high quality product or software application which requires lower maintenance cost. ‘oftware Testing Objectives Themajor objectives of software testing are as follows: Finding defects which may get created by the programmer while developing the Software, Gaining confidence in and providing information about the level of quality To make sure that the end result meets the business and user requirement . - lity product. To gain the confidence of the customers by providing them a quali) P usin ‘Scanned with CansScanner inputs to the test and the expected From the de: ae “en Of test cases we get test case list. After that we prepare the test data. Test data ne me ts which have been devised to test the system. Test data can be generated ‘cally or manually. From this step we get test data set. Then we run the program with rate the result. Finally we compare the test result to test cases Test ] reports test data for all test cases and gene: and generate the test report. ‘Run program ‘Compare test case with fest data ae Fig: Software Testing Process Test Case and Test Data ‘A test case is a set of actions executed to verify a particular feature or functionality of your software application. It is a document, which has a set of test data, preconditions, expected results and post conditions, developed for a particular test scenario in order to verify compliance against a specific requirement. Test Case acts a5 the starting point for the test execution, and after applying a set of input values; the application has a definitive outcome and Teaves the system at some end point or also known as execution post condition. ‘The test case includes specific variables or conditions, using which a testing engineer can i capa yhether a software product is functioning as .d actual results to determine w! compare expected an per the requirements of the customer: that can be tested. It is a collective set of test jo is defined as any functionality # eee 7s testing team to determine the postive and negative characteristics of the ona whic — gives a high-level idea of what we need to test. project. Tes! Importance of test cases ases hel rify conformance to applicable standards, guidelines and Te ip to ver ance to apy . ‘est cases hel st irements omer Fequi F validate expectations and customer requirements 0 Ips you t« : — a control, logic, and data flow coverage _ Increas ——— Scanned wth Camscaner 140 D. Sorrwane Exomersuxa ‘You can simulate ‘real’ end user scenarios Exposes errors or defects When test cases are written for test execution, the test engineer's work will be organized better and simplified Practices of Creating Test cases ‘Test Cases should be transparent and straightforward Create Test Case by keeping the end user in the mind Avoid test case repetition You need to make sure that you will write test cases to check all software requirements mentioned in the specification document Never assume functionality and features of your software application while preparing a test case Test Cases must be readily identifiable Typical Test Case Parameters Test Data Test Case ID Test Scenario Test Case Description Test Steps Prerequisite Test Data Expected Result ‘Test Parameters Actual Result Environment Information ‘Comments Test Data in Software Testing is the input given to a software program during test execution. It represents data that affects or affected by software execution while testing, Test data is used for both positive testing to verify that functions produce expected results for given inputs and for negative testing to test software ability to handle unusual, exceptional or unexpected inputs. Poorly designed testing data may not test all possible test scenarios which will hamper the quality of the software. Scanned wth Camscaner lt for for ts. the ‘Example: Test cases for the Test Se Check Check system behavior when i system Software Testing O Hoare L a] 1m enario: Check the Login Functionality would be behavior when valid email id and password is entered, invalid email id and valid password is entered. Check system behavior when valid email id and invalid password is entered, © Check system behavior + when invalid email id and invalid password is entered, Check system behavior when email id and password are left blank and Sign in entered. Check Forgot your password is working as expected Check system behavior when valid/invalid phone number and password is entered. Check system behavior when "Keep me signed” is checked “Vest Cose iD. Test Case Description Login-Positive test case | Test Priority Pre-Requisite Avaiid user account _ | Post-Requisite Test Execution Steps: eee Test = “Output. Comments 1. [lounch | tipsil/wwwface |Facebook |Facebook | IE-11 | Pass | Launch application [Link] home [home successtul 2. perme! email ID: Login Login IE-11 }| Pass | Login oll & password | test@xyz,.com success |success successful ‘and hit login Password button 7 i | ae + z a : sabpo Imes u Stegin-tB es Case | Login-Negati Description ae Negotive testes Ponty Pre-Requistte NA Post-Requisite NA ‘Scanned with CanScanner 2) sorreans ENGINEERING w fest Execution Steps: ~ ‘Action Inputs Expected | Actual Oulpuf Test. J Tests] evn) Output = } prowser'| Comimenis| [tounch hiips:/iwww. “|Facebook [Facebook | _IE-I1 Launch lopplication _|[Link]/ |home home successful Enter invalid | email ID: The — Email[the Email! 1-11 | “Pass | Invalid Email & |invalid@[Link] |address or | address or Login password and | Password phone phone number, attempt hit \ogin|***** number that|that you've stopped button you've entered entered doesn't match doesn't match| any account ‘ony account|sign up for an sign up for an| account. Jeccount. 3. [Enter invalid | Email ID: |ihe password |The password | IE11 | Pass | invalid Email 8|valid@[Link] | that you've _| that you've Login password and | Password enteredis —_enteredis attempt hit login | +" incorrect. incorrect. stopped button Forgotten _| Forgotten | password? | password? Software Testing Levels Testing levels are basically to identify missing areas and prevent overlap and repetition between development life cycle processes. In life cycle process, there are different phases and each phase goes through testing. Hence there are various levels of testing which are as follows: 1. Unit Testing It is basically done by the developers to make sure that their code is working fine and meet the user specifications. They test their piece of code which they have written like classes, functions, interfaces and procedures. 2. Component Testing The component testing is concerned with testing the functioning of clearly identifiable components. It is also called as module testing. The basic difference between unit testing and component testing is, in unit testing the developers test their piece of code but in component testing whole component is tested, For e.g. in a student record application, there are two modules one which will save records and other module is to upload the result of students both the modules are developed separately and when they are tested one by one then we call this as a component or module testing, Software components are often composite components that are made up of several interacting objects. Testing components should therefore emphasize on showing that the component interface behaves according to its specification, There are different types of interface between program components and consequently different types of interface error that can occur. Scanned wth Camscaner Different interface errors that may occur in component are as follows: 3. © Software Testing O ey “a Parameter ' Smeter Interface: these are interfaces that are used to pass data or references form one function to another, Procedural Interfaces: These are interfaces in which one component encapsulates a Set of procedures that can be called by another component. Shared Memory Interface: shared between components component and retrieved fror ‘These are interfaces in which block of memory is of software. In shared memory data is placed by one *m there by other subsystem, Message Passing Interface: These are interfaces in which one component request a service from another component by passing message to it. Interface Misuse: This type of error occurs when a calling component calls some other component and makes an error in the use of its interface. This type of error occurs with parameter interfaces. Interface Misunderstanding: This type of error occur when a calling component misunderstands the specification of the interface of the called component and makes assumptions about its behavior. Timing Error: This type of error occurs in real time systems which use shared memory or message passing interface when producer of data and the consumer of data may operate at different speeds. Integration Testing Integration testing is done when two modules are integrated, in order to test the a and functionality of both the modules after integration, Defects in the component that have been missed during component testing are discovered during integration testing. Integration testing follows two approaches known as top down and bottom up approach Integral a. i ice from top to bottom, following the integration: Testing takes place : Topedown interaton,Tving hss om toon Components or systems are substituted by stubs. Module 1 Module 3} | Te Down Module 2 ES Scanned wth Camscaner 144 4. D Sorrware Bxourenuxa b. Bottom-up integration: Testing takes place from the bottom of the control flow upward. Components of system are substituted by drivers. [Bese stomer + Modules] [Module Module 6 System Testing In system testing the behavior of whole system/product is tested as defined by the scope of the developed project or product. It may include tests based on risks, requirement specifications, business process, other high level descriptions of system behavior, interactions with operating system etc. System testing is most of the final test top verify that the system to be delivered meets the specification and purpose. It should investigate both functional and non-functional requirements. System testing is carried out by specialist tester or independent testing team with no involvement from designers and programmers. System testing should focus on testing interactions between the components and objects that make up a system as well as test the reusable components or system to check that they work as expected when they are integrated with new components. Acceptance Testing After the system test has corrected all or most defects, the system will be delivered to the user or customer for acceptance testing, The goal of acceptance testing is to establish confidence in the system, it is most often focused on a validation types testing. This is arguably most important type of testing as it is conducted by the quality assurance team who will check whether the application meets the intended specifications and satisfies the client requirements. The QA team will have a set of prewritten scenarios and test cases that will be used to test the application. Acceptance testing can be performed in two phases: * Alpha Testing: This test is the first stage of acceptance testing and will be perfotined in development side amongst the developer and QA team to ensure that software is fit for release and has required level of quality. * Beta Testing: This test is performed after alpha testing has been successfully performed. In this testing a sample of intended audience tests the application, Beta version of application is ideally distributed to a wide audience on the web, partly to give the program a real world test and partly to provide a preview of the next release, Scanned wth Camscaner software Testing O ‘GGASRTER GS 145 Testing can be performed without having any knowledge of the interior workings of the application as well as by having knowledge of implementation detail of software system, There arr ewo testing methods which are black box testing and white box festing, Black Box Testing Black box testing isthe technique of software testing in which without having knowledge of the interior working, application is tested to check the relationship between its input and output, In this testing, knowing the specified function that a product has been design to perform, test can be conducted that demonstrate each function is fully operational. The tester is oblivious to the system architecture and does not have access to the source code. Typically, when performing a black box test, a testing will interact with the system's user interface by providing inputs and examining output without knowing how and where the inputs are worked upon. In black box testing, system is like black box whose behavior can only be determined by studying its input and related outputs. Black box testing is also called functional or behavioral testing focuses on functional requirement of software ie. tester is only concerned with functionality not the implementation of software. This testing is especially applicable to perform system testing. Black box testing attempts to find errors in the following categories: ‘* Incorrect or missing functions. © Interface error. * Error in data structure. * Behavior or performance ‘* Initialization or termination error. Advantages + Well suited and efficient for large code segments, * Code access is not required. © Clearly separates user's perspective from developer's perspective through visibly defined roles. © Large no. of moderately skilled testers can test the application with no knowledge of implementation, programming language or operating system. Disadvantages Limited coverage since only a selected number of test scenarios are actually performed, Inefficient testing due to fact that the tester only has limited knowledge about an application. Scanned wth Camscaner an EXGINEERING “ - age, since the tester cannot ta ii puna Coverag "Bet specific code segments or eror prone areas. he test cases are difficult to design, ¢ BOX Testing whit vite box testing is an approach to testing where the tests are derived from aes stactre and Implementation. Its the detailed investigation of int ore ofthe software system, In this testing, knowing the internal working E— ducted to ensure that, knowledge of mal logic and ‘ of the product, testcase can be com internal operations are performed according to epeifications and all internal components have been adequately exercised. In order to perform white box testing in an application, the tester needs to process knowledge of internal workings ofthe code, the tester needs to have look inside the sources code and find out which unit chunk af the code is behaving in appropriately. Using white box testing, the software can derive test | cases that: + Guarantee that all independent paths with a module have been exercised at least once. | + Exercise all logical decisions on their true and false value. } + Execute all loops at their boundaries. This method is usually applied to relatively small program unit, subroutine and operations such as unit testing, component testing and integration testing. It is also known as clear box testing, glass box testing or structural testing. Advantages As the tester has knowledge of source code, it becomes very easy to find out which type of data can help in testing in optimizing the code. Ithelps in optimizing the code. Extra lines of codes can be removed which can bring in hidden defects. Due to tester’s knowledge about the code, maximum coverage is attain test scenario writing, 5 Pidvantages ted during fl ing, the costs are Due to fact that a skilled tester is needed to perform white box testing, increased, ' (0 find out hidden Sometimes it is impossible to look into every nook and corners t errors that May create problems as many paths will go untested. and 7 analyzers 1s dificult to maintain as the use of specialized tools like code 217 de bugging tools are required. Seamed wth Camscanner 1 | Software Testing O EAR “I Difference between Black box Testing and White box Testing 5 SS blak boxtesting : Ti Wihife box fesiing 02 |: The internal workings of an applications|1. Tester has full knowledge of the internal Ore Not required to be known working of the application. - Aso known as closed -box, data driven off2. Also known as clear box, structural or code) functional testing. based testing, ; Performed by end users and also by{3. Normally done by testers and developers. testers and developers |é: Testing is based on extemal expectations|4, Infernal workings are fully known and tester internal behavior of application is) can design test data accordingly. unknown. This is least time consuming _and|5. The most exhaustive and time consuming. exhaustive. \6._Not suited to algorithm testing 6. Suited for algorithm testing. [7. This can only be done by trial and error7. Data domain and intemal boundaries car| method be better tested, . This type of testing always focus on what is|8. This type of testing always focuses on ho performing or carried out itis performing. lp. Mainly applicable to higher levels off?. Mainly applicable to lower levels of testing| testing such as system testing and) such [Link] testing, integration testing etc. acceptance or release testing. 10. itis performed by testing team’ [Link] performed by developer themselves. 1 1. Basis of test case is requirement [Link] of test case is detail design of the] specification. system. ‘This is the type of black box testing that is based on the specifications of the software that is being testing. The applications is tested by providing input and then the resulls are examined that need to conform to functionality it was intended for. Functional testing of software ‘ducted on a complete, integrated system to evaluate the system's compliance with its speci Tequirements, There are five steps that are involved when testing an application for speci functionality. ™ “The determination of functionality that the intended application is meant to perform. ‘The creation of test data based on specifications ofthe application. ‘The output based on est data and the specification ofthe application, “The writing of test scenarios and executing of test cases, ‘The comparison of actual and expected resulls based on executed test cases, .e com I SETS a Scanned wth Camscaner 148 CD) Sorrwane Exaineremna Non-functional Testing Non-funetional testing is based upon the testing of the application from its non-functional attributes such as performance, security, user interface ete. Performance Testing Performance test have to be designed to ensure that the system. can process its intended load. ‘This actually involves planning a series of tests where the load is steadily increased until system performance becomes unacceptable. Performance testing is concerned with both demonstrating that the system meets its requirement and discovering problems and defects in the system. ‘There are different causes which contribute in lowering the performance of software. «Network delay «Client side processing © Database transaction processing + Load balance between servicers «Data rendering Performance testing is considered as one of the important and mandatory testing type in terms of aspects such as: Speed, capacity, stability, scalability. Performance testing can be qualitative or quantitative and can be divided into two sub-types such as load testing and stress testing. Path Testing Path testing is a structural testing strategy whose objective is to exercise every independent execution path through a component. The objective of path testing is to ensure that the set of test cases is such that each path through the programs is executed at least once. {All conditional statements are tested for both true and false value and cases. The starting point for path testing is a program how graph. This is a skeletal model of all paths through the program. A how graph consist of nodes representing decision and edges showing how of control. Software quality management is concerned with ensuring that software has a low number of defects and that it reaches the required standard of maintainability, reliability, and portability and so on. It concerned with ensuring that the required level of quality is achieved in a software product. Quality management involves defining appropriate quality standards and procedures and ensuring that these are followed and should aim to develop a quality culture where quality is seen as everyone's responsibility. Quality management is particularly important for large and Scanned wth Camscaner software Testing © (GCHAPTER'92"y 149 entation is prepared which is record of progress and ts continuity of development as the development changes. ou smaller system, quality ee A 5 documentation and should focus on establishing a quality culture and ae aril a members have a positive approach to software quality. Software quality ‘management for large systems can be structure into three main activities. complex system in which quality docum: Quality Assurance Software quality assurance is the establishment of a framework of organizational procedures and standards that lead to high quality software. It is the process of defining how software quality can be achieved and how the development organization known that software has required level quality. Quality assurance is primarily concerned with defining or selecting standards that should be applied to software development process or product. Two types of standards that may be used as part of QA. + Product Standards: These stands apply to the software product being development they include document standards, such as structure of requirement document, coding standard that define how a programming language is used etc. * Process Standard: These standards define the process that should be followed during software development they may include definition of specification, design and validation process and description of documents that should be written in the course of these process, Quality Planning Quality planning is the process of selecting appropriate procedure and standards from the framework and adapted for a specific software project and modifies these as requited. It is the process of developing a quality plan for a project. It includes the desired software qualities and describes how these are to be accessed. So, quality planning defined what high quality software actually means, ‘The quality planning should select those organizational standards that are appropriate to a parca product and development process. It varies on type of and size of system that is being d eveope The quality plan defines the most important quality attributes for the software and reas a oe of the quality assessment process, Some of the software quality attributes ee does during the quality planning process are listed below: Safety, a ly Portability, Security, Testability, Usability, Reliability, Adaptability, 1 Resi ‘ _ eee ilience, Modularity, Efficiency, Robustness, Complexity, Learnability, ‘The quality plan should include: Product _ ste uct intro: It includes description of product, its intended market and quality expectations for the product. Scanned wth Camscaner sano (a sore ENOINEE 190 project plan: It includes critical release dates and Tesponsibiliti + Pe plan for distribution and product servicing, es for product along ss description: It includes development and service {for product development and management, Process that should be use’ quality Goals: It includes the quality goals and plans for the: aah Sr : i identification and justification of critical product quality atau including ibutes. risk and Risk Management: It includes key risk that might affect , and action to address these risks Product quality quality Control control provides monitoring the software development process to ensure that quality searance procedures and slandards are being followed, The deliverables from the software jeeelopment process are checked against the defined project standards in the quality control The quality of software project deliverables can be checked by regular quality reviews Quality process. and/or automated software assessment. Quality reviews are performed by a group of people. They review the software and software process in order to check that the project standards have been followed and that software and documents conform to these standards. in review process diferent types of review are design or program inspections, progress review and quality review. ‘Automated software assessment processes the software by a program that compares it to the Sondards applied to the development project. This assessment involves a quantitative ‘measurement of some software attributes. ension of a particular ofa characteristic of sed to gather Ameasurement is a manifestation of the size, quantity, amount or dim atrbutes ofa product or process. Software measurement isa titrate impute 2 Software product or the software process. Software measurement oN be u aaa data about software and the software process. ‘1S measured to: * Create the quality of the current product or process: Anticipate future qualities of the product or Process: Enhance the quality of a product or process: edule. Regulate the state of the project in relation to budget and se Scanned wth Camscanner Software Testing O RGHARYERI@Ey 151 Software Measurement Process Soft i Ser ware measurement process is a part of quality control process in which each components of ne system is analyzed:separately and different values of their metric are compared with each other as well as historical data that were collected from previous projects. The key stages in measurement process are: 3 Choose measurement to be made: In this stage, the measurement question is formulated to which measurement required to answer. Select component to be assessed: In this stage, the critical components of system are selected for finding the metric values. Measure component characteristics: In this stage, the selected components are measured and metric values are computed using automated tools. d. Identify anomalous measurements: After finding the metric values for all the selected components, these should be compared to each other and to previous measurements which have been already recorded. e. Analyze anomalous components: in this stage, after finding the anomalous components and their metric valuses it is decided whether quality is comprised in those component s or not. Product Metrics Software product metrics are measures of software products such as source code and design documents. These are measures of software development process and concerned with characteristics of the software itself. For example, the size of the software is a measure of the software product itself. Products metric are of two types: Dynamic metrics are the metrics collected by measurement made of a program in execution. These are usually quite closely related to software quality attributes. It is relatively easy to measure the execution time required for particular tasks and to estimate the time required to start the system. other hand, static matrices are collected by measurements made of the system Cee tation such as design; documentation and source code ete. These have an indirect represent ae ity attributes. A large number of these matrices have been proposed to try ith quality attributes. A e vce and ‘addate the relationship between the complexity, understandability, and to deriv maintainability. 1509000 The International Standar. bodies. The work of Pre dis Organization (ISO) is a worldwide federation of national standards paring international standards is carried out through ISO technical $A Scanned wth Camscaner 152 D Sorrwane Exomnenina committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. In liaison with International Standards Organization, international organizations (governmental and nongovernmental) also take part in the work. The emphasis for international standards originated in the European ‘Community's plan to become a single market with international standards becoming effective at the end of 1992. At that time, organizations wishing to do business in the common market were required to meet those standards, which are now accepted worldwide. There are five related quality management standards in what is referred to as the ISO 9000 series. Each of the five standards (numbered 9000 to 9004) addresses a different topical area. For example, ISO 9000 affects the development and maintenance of software. In addition, the International Standards Organization 9000 standard provides some basic definitions and concepts. It summarizes the other standards in the series and explains how to select and use them. The International Standards Organization 9001, 9002, and 9003 standards ensure external quality in contractual situations. ISO 9004 contains guidance on the technical, administrative, and human factors affecting the quality of products and services. ‘The five standards in the ISO 9000 series are: » * 180 9000-1; Quality management and quality assurance standards—Part 1: guidelines for selection and use. + ISO 9001: Quality systems—model for quality assurance in design, development, production, installation, and servicing. * 180 9002: Quality systems—model for quality assurance in production, installation, and servicing, © 180 9003: Quality systems—model for quality assurance in final inspection and test. © 180 9004-1: Quality management and quality system elements—Part 1: guidelines. (CMM (Capability Maturity Model It has long been accepted that continuous process improvement is based on many small evolutionary steps rather than larger revolutionary innovations. The Capability Maturity Model (CMM) provides a framework for organizing these evolutionary steps into five maturity levels that lay successive foundations for continuous process improvement. This methodology is at the heart of most management systems which are designed to improve the quality of the development and delivery of all products and services. The Capability Maturity Model for Software provides software organizations with guidance on how to gain control of their process for developing and maintaining software and how to evolve toward a culture of software engineering excellence. The CMM was designed to guide software organizations in selecting process improvement strategies by determining current process maturity and identifying the few issues most critical to software quality and process improvement. Scanned wth Camscaner LL The following characterizations of the five matu changes made at each level. a b. « Disciplined process Software Testing © WEHAPTERIONy 183 Constinuously improving . process, Predictable process Standard, consistent process Initial (1) Fig: Software Capability Maturity Model rity levels highlight the primary process Initial Level: The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort Repeatable Level: Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to "Peat earlier successes on projects with similar applications Defined Level: The software activities is documented, stand, Software process. All projects organization's process for devel Process for both management and engineering lardized, and integrated into an organization-wide use a documented and approved version of the loping and maintaining software. Scanned wth Camscanner | ENGINEERING SOFTRARE 4 a Managed Level: At this level, organization set a : duantitative quality goal for both software process and software maintenance, Detailed measures of the softw: oftware process and product quality are collected, Botl h the software Process and are quantitatively understood and controlled ce using detailed measures, Optimizing Level: The Key characteristic of this level is focusing on continually improving process performance through both incremental and innovative technological improvements. At this level, changes to the process are to improve the process performance and at the same time maintaining statistical probability to achieve the established quantitative process-improvement objectives. 1. What do you mean by verification and validation? Explain software inspection process with block diagram. 2. What do you mean by software testing? Differentiate between black box testing and white box testing. Explain different levels of software testing. What do you mean by test case and test data? Explain software testing process. Define quality management. Explain quality management activities. What do you mean by quality standard? Explain IS09000 model Explain capability maturity model with block diagram. goa Scanned wth Camscanner

You might also like