7CCSMASE
Tutorial 1 Solution
1. One can imagine some advantages for ¡°just-in-time¡± agile testing. For example, it may be easier to design test cases for which oracles and other test scaffolding are easy to construct. It will place a great deal of test design at the end of a development cycle, where it slows product delivery and places tremendous pressure on test designers to rush and short-cut their work. Overall, it is likely to be a disaster for project schedule, or quality, or both.
2. Consider an off-peak period during which about 10 customers are engaged in a download; they must be arriving at a rate around 1 per six minutes. A single 3-minute outage will cause about 10 customers to have to restart a download, and there is about a 50% chance that another arriving customer will be unable to connect. In a given week, approximately 21 customers experience a failure. If we double availability without changing mean time between failures, then we can expect in the same period a single 1.5 minutes outage¡ª forcing the same 10 customers to restart the download but reducing the likelihood of inconveniencing an arriving customer. If we double MTBF without changing availability, then we should expect a single 6-minute outage about once a week. On average we will interrupt those 10 downloads only once a week instead of twice, while on average one arriving customer will be unable to connect. In a given week, approximately 11 customers experience a failure. Clearly, under these assumptions it is better to improve MTBF and sacrifice availability.
Does the situation change if we assume 150 customers are connected when each failure occurs? Now about 2.5 customers arrive each minute, so two 3-minute downtime per week causes approximately 315 customers to experience failure. One 6- minute outage causes 165 customers to experience failure, while two 1.5 minute outages cause 307 customers to experience failure. The heavier the load, the more the advantage of improving MTBF at the expense of availability. One can easily imagine scenarios in which availability is more important. The key here is that the transactions ¡ª 60 minute downloads ¡ª are very long. If the transactions are short relative to the down-time, availability will become more important and MTBF less.