Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Quality

Software Quality

Apresentação sobre qualidade de software, mostrando alguns dos fatores que a influenciam, tipos de testes, além de abordagens para torná-la uma das prioridades da equipe.

Pedro Cavalheiro

April 08, 2016

More Decks by Pedro Cavalheiro

Other Decks in Programming


  1. What makes software high-quality? EXTERNAL • Correctness • Usability •

    Efficiency • Reliability • Integrity • Robustness INTERNAL • Maintainability • Flexibility • Portability • Reusability • Testability
  2. The Joel Test: 12 Steps to Better Code 1. Do

    you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing?
  3. How can software be tested? • Unit testing • Integration

    testing • Regression testing • Resource testing (stress, load) • Functional testing • Performance testing • Acceptance/Usability testing
  4. Top Five (Wrong) Reasons You Don't Have Testers 1. Bugs

    come from lazy programmers. 2. My software is on the web. I can fix bugs in a second. 3. My customers will test the software for me. 4. Anybody qualified to be a good tester doesn't want to work as a tester. 5. I can't afford testers!
  5. FRONTEND • *CodeClimate • CasperJS • Phantomas • Wraith •

    PageSpeed Insights • Selenium • Watir • Sahi • + Any tools to help us? BACKEND • *CodeClimate • Bliss • Code Coverage Generators • Cucumber • Rubocop • Rails best practices • Reek • Scrutinizer • +
  6. How to measure code quality? • Code coverage metrics •

    Defect tracking • Bug regression • Cyclomatic Complexity • Lines added per feature • Duplication • Software quality score over time • Technical debt • [Insert your favorite metric]
  7. “Why do we never have time to do it right,

    but always have time to do it over?”