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

Cognitive Factors in Software Testing

Cognitive Factors in Software Testing

Rahul Gopinath

July 16, 2012
Tweet

More Decks by Rahul Gopinath

Other Decks in Research

Transcript

  1. Comprehension: Relevance • Code Review - Opensource • Catches more

    bugs • Catches more maintainability bugs • Useful for Exploratory, Structural techniques • The one barrier that makes reviews hard is expertize. Maintenance Large Teams Outsourcing Testers Expertize Simply Better OpenSource Need More Bugs Reviews
  2. Comprehension Novices • Comments • Surface Detail • Single Strategy

    Experts • Read code • Capture Abstract meaning • Different Strategies ◦ Typical ◦ Non Typical Mapping Strategies Sufficiency Theory Hypothesis Scan Bind Information Foraging Beacons Focal Statements Color Indentation Comments Typography Influences
  3. Comprehension: What next • Summarize the programs ◦ slices ◦

    chunks • Summarize the changes • Save contour maps while generating • Identify focal expressions • Save multiple navigational threads
  4. Cognitive Biases: Relevance Judgements Test Selection Error Propagation Heuristics Release

    worthy Reuse Direction of Exploration Bias Relative Importance Effort • Assimilation • Confirmation • Availability • Representative • Anchoring • Automation Trusting Tool Programmer What to test Presentation of results
  5. Cognitive Biases: What can we do? Tools Design Very little

    empirical studies Presentation of Results Groups Diversity Education Ease of use
  6. Personality: Relevance • Different learning personalities for Faculty and Students

    • Information intake is different for each type • Preference for Abstraction • Way of thinking is different ◦ NT, comprehension • Social interaction is different Red
  7. Personality: Types Types: • Introvert Extrovert • Sensing Intuitive •

    Thinking Feeling • Judging Perceiving Learning: • Sensing Intuitive • Visual Verbal • Inductive Deductive • Active Reflective • Sequential Global
  8. Personality:Future Need for empirical studies Personality talent pool and gender

    Presentation of Information • Visual Verbal • Abstract Concrete (Language|Visual)
  9. Gender: Relevance Very few women in Software Engineering Bias in

    tools is well known Situational Stress Self Efficacy
  10. Gender: Difference • Software is just another tool • Internalize

    failures • Higher expectations • Heuristics/Comprehensive • Selective Cues/Total assimilation ◦ High tolerance/ Low tolerance • Verbal Episodic memory • Low risk tolerance • Usefulness/Ease of Use
  11. Gender: What can we do? Tools: • Videos instead of

    tutorials • Social Presence ◦ Avatars • Lower levels of change in environment • Textual cues
  12. Inrinsic Motivation: Relevance Huge variance between testers A major differentiator

    according to survey. A huge factor in OSS Perhaps a differentiator in gender
  13. Group Dynamics: What can we do? Computer mediated brain storming

    Easily accessible histories Sub groups that can sync separately