ELEC5618 Software Quality Engineering School of Electrical and Information Engineering Markov Chain Creation Laboratory Week 10 Semester 1, 2021 Slide 1 of 5 Dr Sadiq Sani Laboratory notes based on documents prepared by Dr Peter Stepien ELEC5618 Software Quality Engineering Laboratory Week 10 – Markov Chain Creation Overview • Activities to do before the session: – Lab 10.1 Markov Chain Test Preparation • Activities to do during the session: – Lab 10.2 Obtaining the Probabilities of a Markov Chain from Product Logs Slide 2 of 5 ELEC5618 Software Quality Engineering Laboratory Week 10 – Markov Chain Creation Markov Chain Test Preparation • Choose one of the two: Slide 3 of 5 Resources • Appendix L Other Testing Methods Notes Work Plan • Select the functionality of your product for which you wrote a FSM for testing. – Modify the code in your product so that it writes logs with the events that are executed. Run the product and store those logs. – Create a file with fictitious events extracted from the execution of your product. • Document the structure of such file. • Adapt the FSM that you created so that it is capable of interpreting these events in the file. Assessment • In the tutorial you will give this description to one of your team mates, so make sure it is clearly described. ELEC5618 Software Quality Engineering Laboratory Week 10 – Markov Chain Creation Obtaining the Probabilities of a Markov Chain from Product Logs Resources • Appendix L Other Testing Methods Notes • The file with platform logs and a description of such format. Work Plan • Create a script or a program in your favourite programming language that receives a unique parameter (the file name with the logs of your product) and prints in the output the set of probabilities for the transition between states. The following steps are recommended: 1. Parse all the events in the file. 2. Collect the name of all the states that are traversed. 3. If the logs contain information about the user executing the product, repeat the following step for each user. 4. For every log line, read the state of the following event and keep a count of the transitions for every pair of states. 5. For every state, collect all possible transitions, count the number of times the transitions appear and divide by the total (from the state). Print those numbers as probabilities. Slide 4 of 5 ELEC5618 Software Quality Engineering Laboratory Week 10 – Markov Chain Creation Obtaining the Probabilities of a Markov Chain from Product Logs (2) Assessment • The test description (2 pages) resulting from the activity needs to be submitted for assessment in a folder with name 11_Markov_chain. • Full mark is obtained if: – The procedure to obtain the probabilities is clearly documented in the code. – The script to process the text file works and produces the correct probability values. Slide 5 of 5
欢迎咨询51作业君