Bug debug keynote - Present problems and future solutions


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Bug debug keynote - Present problems and future solutions

  1. 1. 1<br />Software Testing – Present Problems and Future Solutions<br />Vipul Kocher<br />
  2. 2. 2<br />Science Fiction – Fiction today, Reality tomorrow<br />Arthur C. Clark Geosynchronous satellites (1945) – Actual satellites (1963)<br />Cloning - Dolly<br />Jules Verne’s “Twenty Thousand leagues under the sea” (1869) – Simon Lake built “Argonaut” first submarine to operate in the open seas (1897)<br />
  3. 3. 3<br />What About These?<br />Androids TimeTeleportation<br />What about ? travel? <br /> ? <br />How about self testing code? <br />May that never become a reality as long as I live…<br />
  4. 4. 4<br />assumptions<br />
  5. 5. 5<br />Assumptions<br /><ul><li>All future solutions are based on today’s technologies
  6. 6. Disruptiveinnovationslike new class of operating systems, development paradigms, languages may significantly alter the landscapes</li></li></ul><li>6<br />Assumptions<br />I have a few ideas on<br /><ul><li> new class of Operating Systems
  7. 7. new class of programming languages and paradigms to support that operating system
  8. 8. ultimately supported by new class of hardware</li></ul>I have no clue about it !<br />
  9. 9. 7<br />problems in testing <br />
  10. 10. 8<br />Problems in Testing<br />Are there problemsin testing? <br /> We all seem to be doing fine!<br />Probably the biggest problem in testing is<br />-“we do not have a problem”<br />
  11. 11. 9<br />Problems in Testing<br />Why is this aproblem? Is there a solution in future?<br />Only two things are infinite, the universe and human stupidity, <br />and I'm not sure about the former. --  Albert Einstein<br />
  12. 12. 10<br />challenges in testing<br />
  13. 13. 11<br />Challenges in Testing<br /><ul><li> What does testing mean for different stakeholders?
  14. 14. Have we tested enough?
  15. 15. How much time do I need to test it?
  16. 16. How many test cases should I write?
  17. 17. Oracle problem
  18. 18. How do I choose right set of regression tests?
  19. 19. How do I get developers to do better testing?
  20. 20. Do I need coding skills? What will I do with those?
  21. 21. How do I teaching testing to my testers?</li></li></ul><li>12<br />What does testing mean for different stakeholders<br />
  22. 22. 13<br />What does testing mean for different stakeholders?<br />Let us face it<br />Nobody wants testing…<br />
  23. 23. 14<br />What does testing mean for different stakeholders?<br />If one assumes that “testing is necessary” one is likely to try to improve the way testing gets done<br />If one believes that testing is unnecessary then one is more likely to find ways to minimize or eliminate testing<br />Mindset Matters !<br />
  24. 24. 15<br />testing world’s <br />biggest problem<br />
  25. 25. 16<br />Testing World’s biggest problem<br /><ul><li>Where is the innovationin testing?
  26. 26. Innovation as in Breakthrough Innovation?</li></li></ul><li>17<br />Testing World’s biggest problem<br />Can you name three breakthrough innovations in testing? At least one?<br />Where does the future of testing lie?<br />
  27. 27. 18<br />HITE<br />E<br />H<br />I<br />T<br />Have I Tested Enough<br /> Do you have a bulletproof answer?<br />
  28. 28. 19<br />HITE<br />First define “ENOUGH” – <br /><ul><li>Today </li></ul>- No catastrophic or critical or major failure for users<br /><ul><li>Tomorrow - ?</li></li></ul><li>20<br />HITE<br /><ul><li>Integrated software status monitor- Explained later (Patent Pending)
  29. 29. New software technology- Self monitoring (Patent Pending), Self healing systems
  30. 30. Software testing as a distributed, automated service - you pay software companies to install software on your system and test it (Patent Pending)</li></li></ul><li>21<br />How much time do I <br />need to test it<br />
  31. 31. 22<br />How much time do I need to test it<br />What are the problems you face in answering this question?<br />What are the solutions today?<br /><ul><li> Estimation techniques? Work Breakdown Structure? Function Points? Test Points? Use Case Points?
  32. 32. Historical Data? Rule of thumb? Gut feel?</li></ul>Are these accurate? What about<br /><ul><li>Different levels of quality, workmanship (developers and testers both), project constraints such as budget, time and Subsequent Regression Cycles?</li></ul>Future solution<br /><ul><li> A mechanism to define quality level and a mechanism to measure that level (Patent Pending)
  33. 33. Collection and analysis of data in automated manner and predictions based on current state of the project (Patent Pending)</li></li></ul><li>23<br />Bug – The Only <br />Perfect Being<br />
  34. 34. 24<br />Bug – The Only Perfect Being<br />Most bugs are because imperfect requirements are imperfectly translated into imperfect design which is imperfectly translated into imperfect code<br />
  35. 35. 25<br />Whole Is More Than The Sum Of Parts<br />
  36. 36. 26<br />Whole Is More Than The Sum Of Parts<br />An integrated environment where…<br />
  37. 37. 27<br />Whole Is More Than The Sum Of Parts<br />An integrated environment where…<br />
  38. 38. 28<br />Integrated Environment<br />Requirements<br />Visual<br /> Prioritized<br /> Self-checking<br /> Testable<br /> Constrained<br />Design – Mapped to Requirement<br />Tests – Mapped to Requirements/Design/Code<br />Code – Mapped to Requirements/Design<br />
  39. 39. 29<br />Regression Test Selection Tool<br />
  40. 40. 30<br />Tool-Chain<br />
  41. 41. 31<br />User Messages and API based test cases<br />
  42. 42. 32<br />Coverage & Data – Integral Part of Tool-Chain<br />Customer care – database, emails, blogs<br />Internet security advisories<br />Standard<br />Conformance<br />Defect database, data-mining for bug-taxonomy<br />Data from application monitoring in production<br />
  43. 43. 33<br />New format for writing test cases: visual format<br />
  44. 44. 34<br />An example of Visual format (http://www.exampler.com/software.html)<br />
  45. 45. 35<br />Ability to replay code<br />Crash<br />
  46. 46. 36<br />Testing as a Framework <br />
  47. 47. 37<br />
  48. 48. 38<br />Far Future – Where Testing?<br /><ul><li> Tool driven
  49. 49. Integral part of development
  50. 50. Better ways to tie all development artifacts together
  51. 51. Integration with various sources of information
  52. 52. Better analysis and action</li></li></ul><li>39<br />Q & A<br />Feel free to contact – vipul@puretesting.com<br />