Quality Engineering
- Risk and Quality 
- Releasing software is decided on risk - Risk: the probability of something going wrong which will affect the business in an adverse way (ie sales, reputation, unsubscriptions) 
- Risk Management: is handling and planning ways of preventing risk which is economic (time/money/resources) to the business - What is the impact of that risk happening and the probability of it happening 
- Focus on handling different types of risks (ie critical to non critical) 
 
- For example, - Releasing software which has lots of bugs leads to poor sales, bad reviews. - Reducing the risk can be done by testing and fixing bugs, to prevent bugs reaching customers - trying to find all bugs can take too long and cost too much 
 
- alternatively, can release wiht some bugs tested and a patch released later 
- alternatively, can live with some bugs cause they cost too much and not much of an issue 
- alternatively, can fix on demand 
 
- Some of these have different cost to benefit values, decisions need to be made 
 
 
- No matter how much you test, figure out scenarios there could be cases where some bug or somethign will break 
- How to manage risk to ensure that a release of a product has quality and makes money - Quality: - Usefulness: Meeting user needs and providing value. - Does what it is supposed to do 
 
- Correctness: Functioning as intended without errors. - Does what it was doing before release 
 
- Goodness: Delivering a positive, enjoyable user experience. - Does it in the expected way, does not break, not too slow, can handle failures 
 
 
 
- 4 areas to handle the risk (risk management in quality) - prevent 
- Accept 
- Transfer 
- Observe and React 
 
prevent
- Where most of the testing happens 
- Lowering the risk of something happening (issues) in production 
- Not everything can be tested, so must be accepted and see in use, then fixed if needs to - either too costly, too hard 
- not thought about 
 
- automated or manual - if testing or fixing the issue is too hard or costly, and not critical can leave the it in 
 
Accept
- Allowing certain risks based on analysis. 
Transfer
- Using third-party tools or insurance to mitigate risk. 
Observe and React
- Monitoring and responding to issues as they arise in production 
- Done manually or automated 
- Can be obversed by - notified by user - directly - hotline, email 
- indirectly - reviews, social media 
 
- the software itself 
- anotther software monitoring (metrics/logs/probes) then alerting 
 
- The information is ready to find and fix issue quickly 
- Can be handled by - customer themselves 
- operations team (person/chatbot) - helping the customer fix it 
- fixing it themselves 
- or passing it on to others to fix (call out, engineers etc) 
 
- The software notices itself and applies some fix - ie retry when http call fails 
- This invovles building this into the software (more risk) 
 
- Alerting based on some logic around some metric that goes wrong - this can be manually fixed 
- or automated 
 
 
Last updated
Was this helpful?