A Few Review Questions Dan Fleck Fall 2007 System Test Case Enter invalid username in the input box Able to enter text Enter invalid password in the input box Able to enter text Click login button Error message displayed saying “invalid username or password” What is wrong with this system test case? (formatting is wrong, but what else is?) System Test Case Run the system and at System cancels the any point press “cancel” action What is wrong with this system test case? (formatting is wrong, but what else is?) Many project managers fail. What are some of the main reasons projects fail and how can you lower your risk of failure? Problems? Users shall have an ATM Card The game system shall provide a way to regenerate players and provide a scoring mechanism The game system shall be fun to play The game system may be accessible for the disabled What is the difference between design and analysis phase? Analysis describes WHAT the system must do, design describes HOW the system will do it. Analysis describes the problem domain, design describes the solution domain What is a design principle? Good things you should try to do when creating a system. (Principles that have historically lead to successful projects.) Explain the interface segregation principle Don’t make large multipurpose interfaces – instead use several small focused ones. Don’t make clients depend on interfaces they don’t use. Class should depend on each other through the smallest possible interface. Why??? What am I violating? How should I fix it? class Cat { public int numberOfFeet = 4; } class Owner { public Cat cat; } class Veterinarian { public void amputate(Owner o) { o.cat.numberOfFeet = 2; } What am I violating? How should I fix it? Law of Demeter and poor encapsulation class Cat { public int numberOfFeet = 4; } class Veterinarian { public void amputate(Cat c) { c.NumberOfFeet(2); } } If I have a serial database that only allows one user to query it at a time, what pattern could I use? Singleton - limits access to a shared resource by ensuring only one object is ever created (in this case, the database connection) Which gang is least-scary? Republicans Crips Democrats Gang of Four Bloods Why? Define coupling (and I don’t mean the terrible show from 2000) Define cohesion QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Cast of Coupling (2000) You and Dracula are both afraid if stakeholders get upset. Why? Define critical path and tell me when I should pack for the cruise Activity Duration Predecessor 1. Requirements collection 5 2. Screen Design 6 1 3. Report Design 6 1 4. Database Design 2 2,3 5. User Documentation 6 4 6. Programming 5 4 7. Testing 3 6 8. Installation 2 5, 7 9. Celebration Cruise 30 8 Carl and Bob are racing, but are friends and want to finish in a tie (at the same time), what is the schedule dependency that describes this (FS, FF, SF, SS) best? Why is it necessary to quantify your plans? What is expectation management? Why is it important? Give an example from your life where it was not done and the results? Define verification Define validation Define IV&V If my software requirements say the background should be blue, but I like red better, will I fail in verification, validation or both? What is dynamic verification? What is an example of static verification? What is a stopping rule for testing? Or what do I mean by that? A stopping rule is a rule to determine when you can “stop” testing. Older testing techniques provided no quantifiable stopping rule. Newer techniques using coverage criteria do provide a stopping rule Using the older techniques, when do you stop testing? My goal was to get 30 questions for the review by the time Heros starts at 9pm. It is now 8:30pm and I have 18 slides. I started at 7pm. What are some metrics I should calculate now to understand my Heros Watching Potential (HWP) ? If I decide to watch it now, and finish the slides in the morning, how much earlier do I need to wake up tomorrow? What are some advantages and disadvantages of metrics based on lines of code? In the software fault, error and failure model, is a software fault still present if it does not generate a failure? Yes… the failure may appear later or once new code is added, but the fault is there regardless. Define white box and black box testing Don’t forget… just knowing the answers to these questions is NOT enough. Look at the review guide online for the full list of things to know!!!! Explain mutation testing How do I kill a mutant? A mutant is a variation of my software created by changing lines of code. By introducing changes to the source code, I can detect if the testing done is thorough or not. I kill a mutant by writing a test case that fails for the mutant code, but not for the original code I hope you enjoyed the class. I did!