 ध� policy review to the power session now life what we started with we started reckless ఇర్ criteria we therapist require for embedded systems testing the circumstance of basic evaluation of embedded systems like the next controller knowledge, an integrated development ఠicient  Poppy ఇా Deixa చావ దారిలు అవర్ా ఆనిపిగంఊనిéra relevgew షారినక お అధిపి నా ఆరి యిపినviamente ఌ౪ART మాత౾  ihren మరంతిని యిని మికబి� único swing long of the key marketing drivers are Amate x software means to be reliable and predictable and testing accounts for more than half the or the cost of the development of the human software and the best way to understand the complex system is to test these are some of the key drivers on the map although we had ని ని ని ని ని లె యె ఒరాచెన్ ని ము ము మాచ్ల్ల్ ంద్వప్ర్చి అని హె ము ఆచ్విచ్లి మాచెము and then అవాచ్మి ఉాచా ట్ల్,నిచాసరాం మపిజార్లు వ్ర్ర్ చ్ర్ర్నంద ఆవ్త్స్సి నిల్చ్ర్చప్సాందె. అక్చ్మా తోమాఫిక్మంది చేర్. ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని ని న మాదెషా఺ాతు నీవారి. మామనేస్ నీవాస్ మాస్స్ మాస్ వాసఢాసి మాస్స్సాసరం స఍ స్రరరాస్. పీరరు స్సాసాస్సని సమిసట్స్సరు. స్సటి సంద� ఇాఝికిల్లి. కాప్ట్త్ని. కాపికిచాయ్మాప్ంన్సి. పిన్మికే. ప్టాడిక్కమిక్ధకి. కరికా కెంచి. కా. ప్లవిక్రడి. చాచిమిక్కాయ్తి. లం� this is applicable for any of these testing specially for software testing whether embedded or non embedded of course embedded emphasis with space testing is the process of testing or evaluating a system or system component by manual or automated means to be explained that it satisfies the specific requirements so what it means is testing is a process it has many things so those things are all coming in the process so what are the process it expresses or evaluates a system or a system component or a system by different means those means could be automated means or manual means which will verify to make sure that it satisfies given the set of requirements manual and automated tests we will explain later stages when we take up the different test methods so these are the IEEE definition of testing there are other definitions as well in the website which have been referred for software testing software testing is an integral part of the software development cycle here software development cycle includes development as well as testing which has a planning design implementation testing that is what software development cycle the integral part testing is a process of executing a program with the intent of finding a good test stage is one that has a high probability of finding an error a successful test stage is one that detects an as it undiscovered error so test stage aim is to detect any undiscovered error for that particular functionality of a requirement these are some of the definitions of this testing okay role of testing here testing has two primary aspects one is verification other is validation typically it is called in industry as we and verification is the are we doing things correctly validation is are we doing the correct things so that is the basic understanding of the MV verification means are we doing things right validation means are we doing the right things then secondary roles of testing are determine whether the system needs specification that means whether the intended behavior of the system is being employed within the embedded system that means the embedded system makes the specification what it is intended to do then in part the components of the system under test bring in the components of the system whether it is working as per the specification it can be deployed on to the market or user or it can be set to the field or it can be delivered or released the testing brings of the components of the system under test it also provides insight into the software development process by doing the testing we will understand some of the embedded software parts in terms of how it is been developed I mean the various analysis of the test failures or test parts will uncover some of the issues or problems that would have come across during the software development process the software development process could be the planning period implementation values etc okay so why we need to test it there is a question if proper planning design implementation is done for a embedded system why the question of course the testing is mandatory in terms of industrial practice why because there are chances that developers could do oversight of the implementation or design or requirement this question will uncover that certain bugs are easier to find in testing we need not be found during the implementation or implementation may not be enough to find out the bugs those things will be found out during testing and of course post release debugging testing we cannot deliver the product after the implementation of testing it needs to be definitely tested it is not possible to have anybody it will be an expensive data system but since development tools such as compiler, library or any of the implementation or coding phase that we use could have some issues or bugs so that needs to be tested that will come out as an issue or not while doing the testing and this way to understand and present the product to the market for report it will test it and report as a part so obviously the customer or the quality team or the organization will be very much in terms of reporting a product as a defect free or so just we have to do it do a test and report it and we cannot afford to have customers reporting the problems or defects of the product so avoid a customer's detection effects testing is challenging and rewarding it is equally as good as the implementation I would suggest the typical industry and from the perspective so that a good tester can be effective developer as well effective implementer as well so testing is really challenging and rewarding so that is why we need it this is some of the metrics that is used in the industry in terms of what is the cost of an embedded software defect in this chart you can see the cost in terms of percentage in the vertical axis in the horizontal axis that is in cases of software product we have requirements we have design coding testing and presentation could be maintenance effect so across these cases if we found defects so what is the cost we find a problem in the requirement before we actually realize that cost will be less accordingly design will have a lecture lecture cost compared to coding similarly testing and production so as the cases goes by the cost of the defect will be higher some of the key process elements for embedded software testing in this slide has put the three main elements that are required in order to do a software testing basically this is a it will all fall into a process so we need to have a planning documents the planning documents are very vital input so the documents are development verification and configuration plan so this will talk about what is going to be my verification plan what is going to be my configuration plan so what is the development environment I am going to use so all this will be laid out in the planning test it is one of the very important input for the testing which will be the embedded software testing that is being followed in the industry next is the technical inputs system requirement document software requirement specification of the design document code test case and test procedure and across this results why I have put results is testing the incomplete means which had everything right from the input documents that is been provided for the tester and the way how we are going to report as a report using the results so these are some of the technical input to say that the product is software testing the next thing is the guidelines and standards these are of course the defect of inputs that are needed for embedded software testing they are software testing standards and guidelines for what sort of a testing standards I need to have for example if you take up a atom of the you have ISO standard that is being followed for aerospace they follow DO and then it be for 2167A for example that has its own inline process and standard software testing that needs to be followed also review guidance are being used which will help in how a product or the different phases of software testing will be reviewable so is also one of the important elements of the embedded software testing it will be used as a process of the software testing we will touch up on how the test process they are explaining the specification test execution this code is in the coding so this is the basic definition of the process that is to be defined for these are the tests so we need to define a testing process for the four elements the basic element test planning like that just whatever the test we are going to conduct on the embedded software needs to be planned so the test planning will have what sort of a test case I am going to develop how it is capable to be defined how the coverage is going to be reported and what will be my test environment this what is the total what are the costs of the tool this will be part of the test plan next will be the specification specification will have different documents all together test cases test procedure and test environment this will be part of the specification the next process will be the test execution so what are the methods that is going to be used in terms of test execution it could be manual it could be automated this purely from the test perspective test execution perspective like how I am going to execute it we will detail out during the next session for all these process final process definition is the test coverage reporting like once we are done with the test execution we need to develop the metrics in terms of coverage like how much of the requirements of the functionality have been passed how many have been failed and if there are failures that can be justified a system level those things to be reported so the reporting needs to be evidenced with the test logs and execution outputs this will be some of the test process coming to test methods the complete embedded software testing fall into different levels different test methods so they are acceptance system that is the user level this is required for delivering the product for a user he will look from this perspective the requirement basically whether all the requirements have been implemented into the embedded software or not that level testing will be done at the user acceptance testing it is also called as UAT user acceptance testing or acceptance testing the next one is the system this covers up all the functional as well as the non-functional aspects of the embedded software here functional and non-functional means functional means so what are the functionalities that particular product needs to exercise all the functionalities of that non-functional aspects are something like how much memory is using how much performance what is the speed some of the background information that is being used is all called under non-functional type so we will generate the system level as a black box mostly a dead black box i will explain at a later stage what is black box what is white box etc so i suggest not to get bothered at this moment because this question is only the introductory question defining some of the key elements of the embedded software okay the next one is integration testing so as I said I think i have explained i read in a previous lecture about this integration could be integration of the different software models within themselves or integration of the software models onto the target that is hardware and there are various approaches but we give you study on two approaches that is generally one problem as we have bottom up integration the last one is compound testing or unit testing this is being excised at a low level that means when you take up an embedded software as a product there are different unit level functionalities that needs to be implemented those units will be under focus during testing that is the component the component could be a set of one function or two function or three function so all the function or all the units we call it as unit all the units will be tested at this level this is called the component so these are the four basic levels of test methods that are being the used in the embedded software and during next session we will detail out about acceptance of the same system testing integration compound testing