 తిసిత్న౔తార్న్ి మేత్త్సి సిసామ్న్ర్చార్య్టరి ఆనుఌకారి. ఉార్నేలావ్సిమాధటినిసానాని మేత్టి ఆసిసిసిసభారైఆందిస్. said నిలా నావర్ చాలావాయోపినానాతావాలా మిసిసార్ర్లినం మ౗కిలిఆంపిరా దిటరిండిచాయ్సాని నానిసిలాసి. నిస౿సావాక౾లిలిగాకౡికి సుర్  నిల్ను బార్న్ ణసిర్ను కిస్ట్టు జిరిసింది బ్మ్కుత్నై. సనిలను తార్నను సనూడిఔ బ్నా బాస్ంౚ్ వంజికిత్నంపు యార్ల్ఆఛాంసి. and also we had a walkthrough of a sample test plan so I will just open it again so that we have a area and for the re-election we will introduce about the complete test life cycle plan what we have done then the references like external document, external document all the report then the specification response of that test plan I will just open the test plan example basically it has about 8,960 is the all the in-level what we have defined the region matrix department it has an introduction about the test plan applicable like external and internal references of document also it has an applicable customer requirements etc. and any process that is followed in the test life cycle and there it is just a responsibility, there it is in that activities what is the environment and there are significant compliance mapping and traffic process we had upon additional considerations anything that we need to that also we have we have to consider and then the standard surface and any guidance that is part of the testing these functions should be used so introduction will have purpose, responsibilities, gain control, compliance, abbreviations and also the external and internal article documents will have to be highlighted the next section I am very very responsible what is the organization structure who is going to control what aspects of the test all this will be highlighted and of course any industrial and real testing has to be following some sort of standard like mirror space they follow a DOM symmetry which calls for independence that means we are independent means the testing team has to be different name of the development team or the development team in that way independent team has to be maintained why this is the idea is to make sure that the testing is not aware of the some of the implementation details or some of the philosophical layout of how it is being done this should not be biased so make it independent it is always positive or it is negative to use an independent team for verification verification methods testing method review method analysis method verification activities what are the verification activities planning localization verification of course standard format verification of high level requirements verification of outputs of the integration verification of the overall testing output and verification environment of course we are going to detail out the details of this in the next session or the next session and we need to maintain the capability of what is being done in the test additional considerations of this is the impartation used compiler any commercial official tools are used on the end of that that needs to be highlighted and from the process perspective and the guidelines perspective we need to mention the standard and the guidelines something like testing standard how those are all will be used of course during the review the same thing needs to be going out to maintain the review so after we go through the test plan we know that there are a lot of elements that are part of the test plan so as part of the first part what we are going to do of the test plan is the approved and in place we are going to start with the test cases, test case design, test case procedure this outcome of this test case design procedure is nothing but development of test cases for each of the requirements or the group of requirements or the specification that is provided to the testing team and to match the test cases we are going to come up with the test procedure as I said in earlier session test cases are theoretical steps of the groups or the logical groups of the requirements or the specification test procedures are the practical steps how it should be done test cases will tell what to do, test procedures will tell how to do test cases are theoretical steps, test procedures are practical steps in terms of covering all the test cases so what is test specification specification defines what to test test specification is part of the test plan that is nothing but some of the testing elements or the process basic building blocks of test specifications are test level test specification will have a instruction how to use the space and all that test specification will have requirements highlighted test specification will result in reporting how much is covered how much is placed etc so today we will go through an example of test specification before that I will rewrite the test case design we need to analyze the requirements here requirements could be any of the embedded system products that specification or software requirements that needs to be analyzed that needs to be understood from the system perspective then we have requirements categorization here the requirements categorization we need to categorize the different sort of requirements like it could be timing requirement or it could be performance requirement or it could be any of the functional requirements etc so these are all will be categorized from the requirements perspective why we need to categorize is that this will ease out the test of job in terms of this understanding suppose because why I am telling you suppose we have a team of four we can divide the team structure in particular one person can concentrate on the timing aspect one person can listen to some of the functional requirements one person can listen to performance requirements one person can listen to timing of any other memory related or anything etc again we can divide that in terms of categorization and categorization it is a good practice that we have a requirements categorization so once we have the requirements to categorize after understanding or analyzing the requirements we are going to identify test cases so as I said earlier test cases will have test conditions that is for the identifiers we have the different conditions how the test cases will be used then we have testing books then testing books are the different test values that will be set to the system for that particular requirement then we will write the test output so what is the output expected of the particular test for doing that there are test conditions which will be applied for that particular test next one is the test case equivalence criteria once we have this set of activity done for a group of requirement specification document we are good for writing the test case that means we have an understanding of how the test case should be that is how we have started with the test case design once we have that then we are going to apply the criteria here criteria means I will explain that in particular how it is being done suppose one requirement is supposed to take few values or the requirement says that it can take 1 to 10 that is an example 1 to 10 inputs how I am going to test it so definitely the system is supposed to work taking the value 1 taking the value 10 taking the value anything between 1 to 10 so we have had to design in particular way that all these values have to be excised does not mean that all the values in incremental manner should be excised but the test case design should physical criteria are specified that it will excise enough for the system to pass through all these that means if I have suppose 1 to 10 then I will do a equivalence class in terms of boundary here boundary is we know that requirement can take 1 the requirement can take 10 so the lower side is 1 the higher side is 10 and a moderate value also we will consider but it can intermediate value that is called equivalence we want to do so then we can do a equivalence of 2 10 by 2 is 5 so we will select the values as 1 5 10 this will be my equivalence criteria for normal range of test cases then coming to the there is one category next category of test cases design in terms of test case inputs is that robust that means it could be an out of outside the normal or abnormal input etc for example the requirement says that a system can take a value of 1 to 10 so we know that system should work for 1 to 10 also we should make sure that the system will not work or the system is not going to take the values anything outside 1 to 10 so what will be our inputs for this condition it will be outside that is the robust range or the abnormal range the input value could be 0 input value could be a minus 1 input value could be 11 etc these are something like outside the normal time or the abnormal inputs or the robust input there are chances that the system may not accept you need to understand this why because suppose a normal electric normal for a fan will have 0 to 10 as a preset value so how do I feed 0 how do I feed a minus 1 how do I feed 11 so again I am reiterating that this again depends on the test harness how we are going to develop it I need to figure out a way of doing that or providing the input if that is not possible then you need to justify different means here there could be a manual go through of that or I am doing a simulated input particular piece of software which is a function for taking leaves values from 0 to 10 etc so in that way I am going to design it to be part of the test design to what are the test cases what are the inputs what is the condition and what is the expected value for each of these categories okay so now we know that we have done the requirement analysis test cases identified test conditions so we know test inputs we have defined all this will be the next set of it we have done next once we have done various test cases for example for example you told 1 to 10 I could end up with writing from between test cases similarly requirement 2 will have a different set of a functionality that may be having test cases may be 20 it depends on the particular requirement what I am going to do now I am going to group it so grouping is again based on the functionality of the timing and performance etc it need not be purely based on the requirement it is also based on the execution criteria suppose I am going to execute one set of requirement and the next set of requirements also I can group it so there is a chance that I can group multiple set of test cases for multiple requirements in this grouping activity grouping is an very important activity where we are going to group the test cases such a way that it is meaningful and it is practically executed and this aggregation and the report generation will be easier that is the intuition of grouping the test cases of course sometimes what will happen is grouping grouping the test cases may not be enough so what we have to do is we have to consider some of these cases as a special categorization we may have to ungroup it or we may have to categorize it as an independent test case or a loan test case it does not need to be called as an independent it does not need to be called as a grouped test case it can be a special categorization test case once we have all this then we are going to have a basic demarcation of the entire test in terms of functional and unconstitutional we know what is functional all the user driven or market driven or the product driven requirements are all called functional and the non functional requirements are something like performance related or timing related what is the throughput and how much it can tolerate in terms of different over voltage or it could be size of the memory so these are some of the non functional requirements all this will be part of the complete test case so this needs to be this needs to be teamwork this has to be done with the help of the team as I said there is going to be a structure test organization who will I have explained in my test plan I think about that which will have the structure so we are going to develop the test case design we will consider an example of test case design I think I will visit this page probably I am going to test it it will have a test case in that example we are going to see a unique name or title of the test case description of the test case the preconditions are the three requirements that is required for the test case preconditions are something like which has to be randomly followed for doing the test that means we define the condition of the test case then we will have a test case which are all test case then we will have the expected result for this particular test case after giving the specific plan after this we will have an understanding of test cases now we will go through the test specifications I hope I will be able to share the point which will have a list of home point zero and product name and its variant and it is a embedded instrument one and two then we have the template as you can see we will have the product name of the test cases లినిష్రా నోల్ని ర్ట్తింద్ల్. కిందాసందానికా లికికోలి సిందానిందారందాయ. కిసందాసందానినికాస శె". పంఠి సివికాస్దాకి. స్రంప్త్ష్యట్లు స్స్సి స్లురూంప్రోిసి స్స్నిసిలు,స్రు స్స్డి,స్రు స్ట్త్రిస్ .. స్రFit�సిస్సిసి అనరంప్చపికరండి. మతాయనియి మి మదది సినిల౿ విసిసొతి వెర మావెటి. మినిని వరందిల౿ధార్న. మిరావి మర్నీటినీంప్యి. మరినిలర ఎవిని టసిసినినికికి ఫమ� జినిధిని. ఈిన౻భా చాంియెసిని శిని. మిమం ఆలిమి నంాటాకి మిమా సిటిసికికి. నిటివా. సిలాకి. ఆలాకి. కిటకిసింద౿ విని. then what is the functionality of that requirement we are going to test it in this particular test then any interface requirements we are going to test it here interface requirements basically a software requirements document of course I am going to give an example of how SR is applied basically if you have a popular part one part will be highlighted in the basic operational or functional requirements the other part will be surrounding this operational requirement surrounding means it could be an input to this requirement or it could be an output to this requirement or a linking requirement or an interface requirement interface could be interface with the primary requirement suppose the requirement says that some value based on some value some action will be taken here so this value how it is going to come is what it is going to be attached with the interface requirement the interface requirements will say about the interfaces required for the particular set of requirements functional requirements will highlight the function of the operation all this will be listed as part of the interface identification because this test case identifiers whatever you are seeing at the table we will cover up all this requirement this test case list here is the format of test case design it has a test case ID, it has an input, it has a condition and finally we have it as I said each test case will be identified as a unique ID it could be ending with 33, 0 1 or 3, 0 0 1 whatever it is then for that particular test what is the input attribute to a particular test then once I cover the input in the first one you see as a first set of inputs here we are going to specify the inputs that will be used for that then the conditions once we provide the input what I have to do should I go on something or should I move the product or should I switch on something etc so all these things will be specified here the conditions that are aligned with this input will be mentioned here that basically triggers the test of course at the end of the test based on this condition what is the output that can be done that is highlighted here and the expected output mentioned the expected output based on the triggered criteria so likewise we are going to have different test cases it could be one, two, three, ten as I said for the example requirement identification starts with a requirement the requirement could be a functional requirement identifying all the functionalities of the particular requirement and for the heat of the requirement or any of the requirement it could have an interface requirement as I said interface requirement is surrounding the functional requirement that we specify the interface source that are required to satisfy the primary requirement the interfaces could be any input value or any output value etc so all these have to be covered in terms of addressing a functionality or a functional requirement so that is the case framework is something like there are four columns one is of a tidy this will identify a test case as you see the product name followed by its variant then you have a easy then you have a unique number so we can have one but there should be all coming under this set of functional requirement and a specific test case as inputs so what are the test cases test case inputs this could be first set of input for this test case one the condition this condition on the input that regarding this condition is specified what is the condition that I need to do it to really accept the first set of values for this condition once I execute what is output I can accept the output could be any value or any monitoring output or anything it could so all these have to be mentioned in the last column this will complete the one test case similarly we will have test case two test case three etc test case two we will have second set of output and if we have its own unique second set of conditions it will have second set of expected results for the developer test case repeat again so each test case will be unique by pixel if you have an input if you have that is data back input and if you have an expected result after that condition having execute so all these steps have to be formatted in this table or in this corner this test cases have to be installed so this requirement what I have highlighted here is nothing but for one requirement likewise I can have multiple requirements likewise I am going to create different test tables so this requirement will end up with all the test cases identified in the first section that is test case identification for requirement each requirement will have identical multiple test cases now we know that there are number of test cases is we 001 to 002 10, 20, 30 whatever it is once I have identified as I said in my earlier slide we need to group so grouping is identified in the next section so this grouping will have its own identification TG test group we can tell that the functionality as I said the grouping is really based on the group of requirement right area which will help a particular test person carry on his test that is why we name it as functional name of that group so I have put an example more entry is one group issue is the first issue, second issue we can have it or we can depends on the configuration this group what are the parents I am going to take care so I have requirement test case ideas 1 test case are 6 so these 2 parents I am going to cover parent is here nothing but pointing to the test case number so this test cases are group basically then I am going to mention the owner then we have what sort of a grouping issue what sort of test cases I am going to cover in this group as I said it could be normal range it could be robustness, it could be review or it could be manual whatever you can mention the type, particular type it is applied for this test group then we are going to have a reference the reference could be within the requirement if you may not be enough to just write down the test case and that is the opening so we need to probably refer some of the other supportive document like tolerance, circumstance or any of the system level information that is very much important that is for understanding purpose that we can refer it to you the next section is sorry next next highlight the precondition as I said the conditions have to be in place for any particular do we will what is precondition I will just have a look into it for example appendix A a point 2 a precondition set 1 similarly we can do precondition here we have instead of precondition so I am going to use first precondition that is precondition 1 is used for developing this test group or grouping the different test cases this case 1 and 6 and these preconditions have to be in place before for taking of the test case this particular test group precondition 1 what will be the precondition so preconditions could be something like we need to power on the emulating the product unit and set some of the values or below settings have to be performed some of the default conditions especially conditions like potential some resistance some of the discreet could be enabled or power has to be 3 volts 5 volts all this can be part of the precondition list all the preconditions which minimally set before test conditions and that is about precondition and okay we will come back to this section similarly I am going to have next group in terms of xfx yyy xfx what it has to be it will identity next test group I am just going to write down all this so that development we can understand very very very very very very very very very very very very very very మా 0.05 ఆసి ారడితి మా 0.05 ఆరి వికిసా చాంవం, కి న౿ంవిలూసి వికి, న౿ిది లికి వికింవికా క౿ంవిక౾ పారి న౿ం పిారి మిక సికి నంవికా. ఉాడ్� we mentioned about hall మ నితి అంమి నిసి చాకమాలూ మావం నినంమా న౿ర్చౚ మింమి నిని మాపెలి మాప్ంమి మికి మిసి మికి మాథంమ ఆటిసిమి నిడిర్చౚ తిరియంమి మాస� so what it means is that for doing this test or before start up this test I must make చా శోట్ల్ర్టాలి ఇలిని మేాకి ను గా నుడ్రకు నులిమాయాడ్లసిమిమి మాకి మా్టాయాసిలూది రంగతం ఠ్లాపెరజ తుడిటికి చుపరెసి మాపార్ట of all the steps in terms of this test group will be highlighted here next once I have highlighted the inputs I am going to describe it and I am going to provide an expectation as well combined. So basically this will have again the test cases what we have identified in that but in the grouping what I have done is I have highlighted multiple requirements with a flow of expectations so that I can continue from the test case 1 to the 10 or 20 whatever the grouping that I have done so that is the idea behind this test. Identifying the common set of inputs and describing the conditions and so forth. So before the end of this test group there is a test bench that needs to be highlighted I will later tell you what is a test bench. Basically the test bench is a test setup for the test setup on which I am going to execute this test group. The test bench could be automatic manual test with the open box etc. All that will be mentioned here in terms of testing same thing we are going to have it for all the group of the pre-conditioning this will come. So likewise we are going to continue all the grouping of the complete requirements. So that is what the requirement is. So first section we will identify the test cases all the test cases for each of the requirements. Then once we have identified the all the test cases we are going to group them the grouping style. Once all the grouping is done we ensure that all the test cases have been covered in our group. In that the test case development is complete. Of course in the end we have appendix. Appendix either we can use any pointer to any of the document in this or we can use appendix for highlighting the preconditioning. Also we have highlighted as an example the appendix for the test scenarios list of static analysis. As I said the test bench that I am going to use could be a code walker. So it could be using static analysis method. So I am going to list out what are the tests that will be taken here as a static analysis. So what are the tests which are categorized under operational or function recovery. So what are the test groups which have been taken as a non-function recovery. So this will provide me a list of complete set of tests. So this is something like a coverage matrix. Cover this under separate section. Here I have a paper cover under. This is up to you how you want to design. Test metrics or test coverage metrics or whatever you want. So this will highlight all the tests and the grouping how it is done. And I am going to list it out. This will be a complete test case development or test case design of it. Please close me any questions you want to have. You can touch base on each of these. That is the exception. You can examine. Of course I am going to provide you this template. And I am also going to provide you a couple of exercises. You can exercise this and you will have a clear idea about it. So these are both an example of the test case for how it is going to be done. So all these are part of the test case design. I have put some example something like how I am going to design the test case. We have gone through a test specification. We have gone through the test specification example. With all these aspects in terms of the test case design. So one example I have put is considering a telephone instrument which we want to test it. It is an embedded software. It can be called as a test component. The tester could test different things about the external. For example telephone should allow you to talk to other phone. The telephone can be called as contents call or other calls. So adding to that is available or not. If it is available, it can be used as per document category. They have document category enough to have this. One thing is that the product as such is complete only when it is appropriately developed. Here developed means the product should have a complete user acceptance. User acceptance is for the highlight, manual or document, how it should be used. That is a theoretical part along with what it is capable of doing. It is operational with usage. Similarly how we are going to instrument, how we are going to use that instrument, how long we can use it. How much capacity the instrument has to store calls to their number, call duration. All this will be a part of the requirement analysis. I would say understanding of this part. To have this above items in place, the tester should have information about what it is expected from the instrument. The instrument has to be understood by the tester. These aspects are to be considered for analyzing the telephones. Here I have to give an example. That means the tester should have understanding of the product, what is testing for it. That is what basically the need of the tester. Without which we cannot prepare the testing. We have gone through this with an example. It will have an unique name or type of unique identification of the tester. Its description, preconditions for prerequisites. What are the steps between the conditions that we have. In the last column we have told that the expectations have to be solved. So some of the solutions for mentioning the test case are as per below. Short unique names will enhance the reliability of the specification and test reports. Indicatoria, identification of the test case. All test cases should follow an identical defined format. As I said it should be in a test format. The ID must be permanent. Adding or remaining the test cases shall not change the ID. This is a very important point. I have a test case 356 as the last of the test case. What will happen is during the review. Of course the only test case may be something like one test case test case has some problem. Or we thought that that is not possible to execute. So what we will do is we are going to inherit it or we are going to delete it. By doing that the numbers could impact. So still what we decided is that we should not hamper the numbers. That is very important. I have this as a first option completely. In the next version I should retain the same thing except the one which I do not want. Or except the one which I have modified. So that way we should have a readability and a control of it. Because there are multiple stakeholders which will be depending on who will be depending on different cases. And they would have already gone hand in by developing the procedures and all that. It is very much important to change the test numbers everywhere. The function is if you want to delete just go ahead and delete. Do not alter any number. And suppose you want to insert a new number. Suppose a new test I have to do. I am going to do as a last option. So these are the first two ways. The same thing is called. It should be permanent. The number should have to alter again and again. The description will have a brief description matching functionality that test is covered. Three conditions as I said. The exact description that we take or some of the conditions that should be done before the execution. Then the steps. Last one is the test procedure. So this is about the test procedure. Next we will go to test procedure. We know that test procedure we have developed. If we tell what should be done for covering the requirement. What should be done to test the particular requirement. It covers all the aspects of the theory. In terms of how test is designed. So what is the input? What can be expected? To achieve that expected result or to achieve that or to achieve that triggering of the test. For the particular test we need to have a practicality of that test. And the test conditions or the different values. All that will be part of the test procedure. Which will be something like it depends on how to test. In case of stepwise actions on how a test case or group of test cases can be run or executed. So basically emphasis is on how to run the test case. So what is the expected result? Very much important. How to run it? We know that a test case is the water test. So test procedure has to be 100% map into the test case. Because we have developed a number of test cases. All those test cases have to be one or the other way. It should be executed. How we are going to execute? These are three test procedure we are going to highlight. The test procedure is to tell the user of the test of that how we are going to perform the test. So we will go through the test procedure. We will go through the test procedure. This is the test procedure you can play. You will understand why it is important and why it is bigger than the test procedure. Test cases are something like a design. Test procedures are something like making the design work. Obviously making the design work has to be more elaborate and more possible. So we can place the starting metas and all that. We have a concrete that has to be standard. The test procedure should be the same as the test procedure plan. We have a two-to-three-sixth test introduction. We have a test plan argument, test procedure designation and we have a plan. So in the first section we are going to introduce about the test procedure. This document defines the test procedure for embedded software products. Each purpose is the definition of the test procedure based on the test procedure and description. As I said, test procedure is the primary input for developing the test procedure. The objective is to cover 100% test procedure or the test procedure. All the test procedures are the same. The test procedures are the same. It has a quick load. It has a VV ID. It has a cross-load of the ending node with a VV ID. Then up to the test case designers of the organization of the follower, how he is going to write it. In general, it is a good country which has a VV ID. VV ID will have a test procedure ID. The name of the function which we have understood and which test case we are going to cover. So one issue is that it should be the test group. Because we know that we will go through the test procedure. So test cases we have followed here. In the next section we are told about the test group. The same thing really matters. For example, the test group 1. Which group I am going to cover in the test group. So it should be mapping to the test group. Okay. The owner is a person who created or modified the scenario for the last time. That means the person who was last time. It is made of a state of the first time. It is terminated each level about whatever you want. Some of this time. And again I am telling you. Independency has to be maintained. The person who has to be independent and independent. In certain stringent organization, that is called aerospace group or safety critical process. I have seen even the test procedure writer or test executor or the reviewers are totally independent. Typically the one who develop the test scenario or test case will not be executing. Or he will be executing the other person's test procedure. So we will do a mix and match. So in that way, independence is. So this is for the cause of independence. And bringing up the quality, transparency and thorough understanding of this stuff. So that is the way to have an independent test group. Doing all the mix and match of the test and match. Next one is the test setup. As I said, the test bench, what I am going to use it. We will also do it. Next is the type. Test type. Same as what we have mentioned here. Normal range. Normal range. Normal range. That is why we have repeated here some of this group. It is because every time, whoever does the execution or whoever develop the scripts of the test sample, we do not have to go through the test group or test case. He has a fair idea about the test group or test case group. So he is going to develop the tests as a scripts. So that is he knows all those inputs in these two scripts. Test setup as well as the type. And the same set of preconditions can be used here. One of the other important thing is that the preconditions can be more elaborated or detailed. As I said in the test case development of design, we might not have come up with a complete practical knowledge. What we will do is it is the likely setup that is going to be used. Or a overview of the setup that is going to be used. Whereas in these tests, we are going to be exactly mentioning what is that we need for doing the execution of the particular procedure. Once all this base work is done, we are going to have the test work. This basically is the practical steps. The sequences or the action that needs to be performed on the target or on the system to execute this particular test group. This is the test procedure. We will end up with a more preview. This is how the test procedure is done. Likewise, we can have multiple test procedures. The next one is the applicable documents which I am going to use. As I said, the test plan of the execution plan is going to be done. All these references which are useful are the basic inputs for developing the test procedure. And any other reference documents, I check the lead, anything in the action, give a status. Next we have all the operations. Now I will show you that especially this is organized this way. This three sections, a very important section that is where this document has to be a separate unit point. In several places or application testing I have seen or I have heard that there will not be any separate test procedure document. What they do is they develop the test piece and in the same document, they are going to mention is what I am going to do, is what I am going to execute, is what I am going to do. That way they will cover it. But in that way the control may not be 100 percent. In many cases or many domains it is mandatory that they will have separate test procedure. In that again, these three steps are very important. Those three steps have to be tested to detailed information or there will be point in the section to be something like this. So what is the environment we are going to use for doing this test procedure or executing this test procedure. Test environment we will have environment identification. The environment as a standard the test environment or the setup how it can be used or how it can be identified for executing the test. The environment basically we will have two types. One is the automatic testing other one is the manual testing or the bug mode testing. We know automatic testing we will use the best human intervention we use the bad communication sort of a we use the FPV based application where we have a bad box sort of approach where we will have a six turning all the time. We will monitor the output or measure the output from the end target system. The second type of environment we could have is the manual mode of testing. This will have the hardware opened or the hardware hooked or any of the measuring equipment hooked inside the target for specific things. The measuring instruments could be also used for these two measurements or any of the any thing. Basically we categorize the best environment as two types automation testing manual testing. As part of the environment we will identify tools part of the hardware tools I did to have an environment. I will see probably in the next session I will explain few slides about testing or setup or in particular a target how it is going to be used in the environment in terms of emulation, simulation or monitoring etc. To do all that we need to have identify the environment. The environment will have tools the tools could be hardware and software tools the hardware tools something like the target board and the target board having the programmed embedded software the interface board for providing the screen for analog special hardware anything we say emulator emulator for evaluation board from TI it could be an adapter for us to be able to can be provided any other separate setup needed of course we need a power supply we need a DMM I think I am going to have a applied for jargon embedded term which are used in the embedded system there is a separate slide I have prepared I am going to add all this one by one we can have a recap of all those words those words have to be in mind for an embedded embedded system this can also scope PC and for software tools we use target connected system called PC based application or automatic software application software tools could be an integrated development environment this is a tool which connects to a target board primarily with the processor which will help you to program for developing perspective and debug and test from the test perspective and to program a new images new software we use flash program GUI sometimes GUI is of the GUI or HTML flash program any software which interface the embedded any tools for monitoring internet monitoring the can cache it for anything so these are specific software tools next once we have this hardware and software tools how are we going to have the environment how are we going to have the test setup made available for the test procedure execution the setup will have a connection the setup will have a power supply the setup will have an IOS probably we can touch base an example the next session similarly on the host we can have an application setup here we have a embedded target base setup procedure here we have a application setup procedure application setup procedure should be connected usb to the host with a scan card or adapter this is an example basically or jpeg table simulator connected to the target board and etc so the other important aspect of the embedded software testing is we may have to build as per the optimal development process the embedded product so we need to have a build instruction available in the procedure software build I will tell you what is software build this is basically an embedded software program we will have the embedded target system to do that we will have the software we will have the object file compiled and which will be programmed eventually on the target system to program it we need to develop the image this called as an image the image is a raw file there are different formats that are used it is basically based on the target board and the poster so the build instructions will be something like use the ccs ccs is the thing about the code from the studio as I said this is an IDE which will be used for developing the code first we will do that then we will load the executable using an hmi hmi will be used as a utility to program to connect the target system and program the image that image was built in the previous step then we will download that then we will have a debug creation of debug sometimes we may have to have additional projects imported that will be part of the next step then how we can download those additional imported products so these are some of the steps involved for building the embedded software this will be part of the test procedure next will be test execution how am I going to execute the test so for executing the test it could be as I said this could be using the PV based applications or any of the scripts or any of the information that we have done in the post the scripts are created from the test procedure that is discussed today using them this is the example basically the test procedure the steps are used as a test step and one example is that all those steps will be mentioned in the Excel sheet Excel sheet will have the same table as highlighted in the previous test test development so that will again show you how it works and that Excel sheet will be used as an input document sometimes with certain columns highlighting the values and certain columns highlighting those values as inputs or outputs and certain additional columns having the expected values will be used as an input and the script will take this Excel sheet as an input and will generate the script sorry generate the triggering values of the target and it will execute so the script basically takes the inputs from the test procedure document and it figures the values as fixed in the Excel sheet and it figures the results and it compares the results also as per the expected results that is part of the Excel sheet and it generates a fast value and the tool generates the development of scripts, files or also known as testing tools then this will be opened in a window application for execution it basically is an example with penalty this way they are used there could be an XML there is a test generation or Excel sheet there is a test generation or UB application whatever UB script it is up to the test development or environment based on their feasibility how they want to have a test application done for the setup test procedure the next one is automation testing application testing this is basically the application which will be used for developing the first test tool so I have put an example typically how it is done the TDI is the automated test software we developed using either VT test for application testing this application software provides TDI for user to develop TDI and then GQD test scripts as I said with the scripts or in my Python or kernel those scripts can be hooked or edited or edited from this TDI application and the test engine the test engine or GQD test cases this software also has an application that means you can have a batch to execute multiple scripts etc so that testing will be automated the embedded software is updated to add the test functionality without affecting the software normal functionality which provides interface between the target software and the VT test application so here what it means is we have developed the VT based application and this should be a unit for this guy to connect with the target so this connection could be anything it could be GAN based or it could be RST or any of the communication we can use so basically the interface has to be there so that the PC the application based on the PC can be used in order to communicate with the target so in order to communicate with the PC there has to be an equal or corresponding responses the reactive updates at the target system so there has to be something that is called a test code or a test book basically that will have a piece of code part of the embedded software which will interact with the PC so that is what is been told here the embedded software is updated the basic core system within the embedded software it will have an additional test functionality it is mostly called as a test code so without affecting the software normal functionality we have to be careful in terms of test code which should not impact by itself just for it is there inside the embedded software so which covers the interface with the target software we may take up an example at the next stage or we may again revisit this because this is an important aspect of the embedded software so this is one example there could be several systems where those systems may not need a test software those systems by itself have been designed to support the target so connecting with the PC without the mirror the next one is the manual testing we have the test procedure tested manually previously we have seen the automated test is done through the PC based application in the next group of testing we use it manual testing the target board is tested manually with the help of an IDE integrated development environment that code compose these are some of the IDs that are used to speak to the processor so with the help of watch window or debug and any measuring equipments such as oscilloscope or discriminator we will have a manual testing done in addition to the automation test setup we have the data is connected we know that in automatic testing we don't have a debug we will use the target board as a laptop here we will use it as a white box with the help of IDE that IDE is looked with the end target is using a data so the data is connected with the test board which in turn connects to the pre-evaluation or the target board I can say the target board rest of the end to end setup test procedures are manually analyzed using the code instruction or debug execution we can also do an automation on the debuger the IDE support that I mean there are the IDE commands in the help of them we can do an automation we can do the debug execution on the debuger and the results are the process to manually the results are captured with the help of a log or what I will do and the outputs are present in the process when the software is affected here also the test function test code will be there here also in the zone and we can disturb whatever test procedures which will be used then I will do next one is the the picture depicting we can see here test environment as I said this desktop or PC will have testing tool IDE or any of the automation tool that will have a connection with the target board target board can be fed with the real-time inputs with the help of the test panel or the break-off box so with this the test environment will be used so here few examples I have put the structure is same basically the automation test procedure is same as manual test procedure the test setup will use automatic test setup whereas in this we will use manual test setup we know that in manual test setup we use IDE data based debugger in automated test setup we use a black box test test is also same we can insert the script here so that we complete the particular test procedure similarly for manual testing we can also have a script based on the manual testing so that is with this procedure and we use environment specific preconditions as I said specific preconditions with specific values will be highlighted in the test field those could be for example the different voltages setting of the different voltages and some of the unlocks setting of the values as some point with the preconditions that are required for specific specific procedure here we have put the automatic test setup what are the contents the procedure is windows environment applications of the MI card for scan communication for supply in the internet software and test box the target board will have a target board the cluster and certain panels for analog discrete inputs so there could be a connection hook for oscilloscope to free oscilloscope to use the female connectors we can use them for manual test setup it will be similar to the one that we use for automatic test setup exception is being that there is a data with IDG and the host side for manual test test field as the automatic test setup that is both test setup specification automatic test setup manual test setup similarly we can have test software build detail tools information like the tool version which we use we know that the software build is something like a special build which is used for having just test software inside the computer game so this details will be tools tools version this reference and any special instruction that needs to be getting clear that can be highlighted in the tools information and some of the tools may require to be qualified it is called tools qualification tools qualification data all the how to be pointed out tools qualification in the sense for example in an aerospace project they look for a stringent test process they look for stringent guidelines as per the DO of course it depends standard so what they describe the tools that are used for testing or developing the software should have a qualified report that means the tools have to be tool so far tool should not be a buggy or a defect producing tool or defect producing instrument so that means to be as part of the procedure similarly we have a software download procedure as described in the earlier section normal instructions data along with any update target code so this will be part of the test procedure likewise we can have as many information but all this have to be part of test procedure that means we should not miss out anything that are related or related to the test procedure so that is an example just an example of the test procedure so test procedure test procedure document will have identifying the test procedure determination application and including document then the test procedure is based on which the manual automatic and how it is going to be executed so what are the options for testing easy based application or any manual testing done on the target code etc then we have procedures for the installing or using as automated testing or manual testing in the end we need to have what special information about all the tools or the build and all this that is about test procedure document okay so that is nothing but test case design and procedures in this session maybe we will continue this discussion about test case in this session in the last one will be in the test this will be in the next class