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

Cognitive Factors in Software Testing

Cognitive Factors in Software Testing

Avatar for Rahul Gopinath

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