Slide 1

Slide 1 text

Cognitive Factors in Software Testing Rahul Gopinath

Slide 2

Slide 2 text

Influential factors Comprehension Cognitive Biases Personality Gender Differences Intrinsic Motivation Group Dynamics Performance

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Beacons

Slide 6

Slide 6 text

Comprehension: What next ● Summarize the programs ○ slices ○ chunks ● Summarize the changes ● Save contour maps while generating ● Identify focal expressions ● Save multiple navigational threads

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

Cognitive Biases: What can we do? Tools Design Very little empirical studies Presentation of Results Groups Diversity Education Ease of use

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Personality: Types Types: ● Introvert Extrovert ● Sensing Intuitive ● Thinking Feeling ● Judging Perceiving Learning: ● Sensing Intuitive ● Visual Verbal ● Inductive Deductive ● Active Reflective ● Sequential Global

Slide 11

Slide 11 text

Personality:Future Need for empirical studies Personality talent pool and gender Presentation of Information ● Visual Verbal ● Abstract Concrete (Language|Visual)

Slide 12

Slide 12 text

Gender: Relevance Very few women in Software Engineering Bias in tools is well known Situational Stress Self Efficacy

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Gender: What can we do? Tools: ● Videos instead of tutorials ● Social Presence ○ Avatars ● Lower levels of change in environment ● Textual cues

Slide 15

Slide 15 text

Inrinsic Motivation: Relevance Huge variance between testers A major differentiator according to survey. A huge factor in OSS Perhaps a differentiator in gender

Slide 16

Slide 16 text

Intrinsic Motivation: Types Challenge Curiosity Control Fantasy Cooperation Competition Recognition

Slide 17

Slide 17 text

Intrinsic Motivation: Using Avatars Gender Gamification Social Dynamics

Slide 18

Slide 18 text

Group Dynamics: Relevance Large groups of developers and testers Interaction between members Brain Storming

Slide 19

Slide 19 text

Group dynamics: Problems Social Loafing Social Preassure Production Blocking

Slide 20

Slide 20 text

Group Dynamics: What can we do? Computer mediated brain storming Easily accessible histories Sub groups that can sync separately