1 / 26

Understanding the Mind of a Developer

Understanding the Mind of a Developer. Find More Defects. and so. Brian Robinson Mental Performance Coach (former software engineer and “defect finder”). Inspire you to…. Q U A L I T Y. O F L I F E. consider what drives testers and developers.

Download Presentation

Understanding the Mind of a Developer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Understanding the Mind of a Developer Find More Defects and so........... Brian Robinson Mental Performance Coach (former software engineer and “defect finder”)

  2. Inspire you to…. Q U A L I T Y O F L I F E consider what drives testers and developers think more about interactions with developers think more about developer’s problem areas

  3. Menu Who Am I and what am I doing here ? Very Short Theory Of The Mind The Mind Of A Developer Tips - How To Approach Developers Developer’s Problem Areas

  4. Neocortex Primate Brian language, abstraction, planning, self-awareness, logical analysis Limbic System Mammalian Brain Emotions, parenting, mood, memory, “value judgements.” R-Complex Reptilian Brain Instinct, survival, eating, aggression, dominance, reproducing.... Responds by one of the 3-F’s Fight, Flight or Faint !

  5. It’s hard to concentrate on what you are saying because I can only hear 7% of it! I am “watching” 65% what you are “saying” I am “feeling” 28% what you are “saying”

  6. I want to learn I want meaning I want to contribute I want to feel safe, I want to be wanted I want food, I want warmth, I want to SURVIVE !

  7. Motivation Self-Actualisation Esteem Needs Social Needs

  8. Who’s in The Driving Seat ? The elephant will go anywhere the rider chooses….. As long as the elephant agrees

  9. Who Do You Think You Are Talking To ? I HATE that tester ! They are always so pleased when they break my programs I just can’t do this work I thought I was good, but I am not Oh no ! That’s my 10th this week Thanks. I’ll take a look. Hey ! Look at this ! I found this REALLY cool defect in your program !

  10. Who Do You Think You Are Listening To ? I HATE that tester ! They are always so pleased when they break my programs I just can’t do this work I thought I was good, but I am not Oh no ! That’s my 10th this week Thanks. I’ll take a look. Erm, erm. Ok. Thanks. Hey ! Look at this ! I found this REALLY cool defect in your program !

  11. Who is driving the show now ? Oh No! He seems annoyed. Maybe its a feature I haven’t heard about Why do these developers get so annoyed. Don’t they understand. I am here to lift the quality. Well, if he is going to take it like that then he can struggle to recreate the defect on his own. Thanks. I’ll take a look. Erm, erm. Ok. Thanks.

  12. Praise Problem Praise

  13. Developer’s Weakspots

  14. Interfaces, Interfaces, Interfaces

  15. Man-Machine Interface • Test • Data set sizes • Usability • Programmers design interfaces to fit programming/database structures • Test • Data speed • Amounts of data • Data format • Programmers will reuse the same data messaging irrespective of destination • Test • Display types • Programmers will reuse and “hope” it fits all browsers • Test • Specific needs for specific users • Programmers will reuse and “hope” it fits all needs

  16. Database Interfaces • Simultaneous Update • Transaction Design • Sequence and PK Allocation • Orphan Records • Database Deadlock • Lock Escalation

  17. Database Interfaces – Simultaneous Update Name : Fred Smith Married : No Address : 12, The Street, Newtown Name : Fred Smith Married : No Address : 25, The Way, Oldtown Name : Fred Smith Married : No Address : 12, The Street, Newtown Name : Fred Smith Married : Yes Address : 12, The Street, Newtown !!!! !!!!!!!!!!!!!! Lost Update Name : Fred Smith Married : No Address : 12, The Street, Newtown

  18. Database Interfaces –Primary and Foreign Keys Database Table. Department Dept no : Integer PK Name : Text Primary Keys Foreign Key Database Table. Employee Personnelno : Integer PK Name : Text Married : Boolean Address :Text Dept No : Integer FK

  19. Database Interfaces – Sequence and Primary Key Allocation Personnel No. = Max+1 (16) Name : George Burns Married : Yes Address : 25, Avenue, Fishtown Personnel No. = Max +1 (16) Name : Bert Jackson Married : No Address : 14, The Lane, Toptown FAIL !!!! Primary Key Violation Key Already Exists OR Even Worse Updates Existing Record!!!!!! Select Max(personnelno) From employee Returns 15 Select Max(personnelno) From employee Returns 15 Database Table. Employee Personnelno : Integer PK Name : Text Married : Boolean Address :Text

  20. Database Interfaces – Orphan Records Database Table. Department Dept no : Integer PK Name : Text ???? Primary Keys Foreign Key Database Table. Employee Personnelno : Integer PK Name : Text Married : Boolean Address :Text Dept No : Integer FK

  21. Database Interfaces – Lock Escalation Database Table. Department Dept no : Integer PK Name : Text Delete From Dept where DeptNo = 2 If there is no index on Deptno in Employee then this will lock the whole Employee table Not Always necessary – Depends on size of tables Ask the DBA – He can be a great friend Database Table. Employee Personnelno : Integer PK Name : Text Married : Boolean Address :Text Dept No : Integer FK

  22. Database Interfaces – Deadlock When we update rows most DBMS’s will lock the rows to be updated Database Table. Employee Personnelno : Integer PK Name : Text Married : Boolean Address :Text Dept No : Integer FK Salary : Double Database Table. Department Dept no : Integer PK Name : Text HeadOffice : Boolean Deadlock !! P1 and P2 are waiting for each other Program 1 Program 2 Update Department set HeadOffice = Y Where Deptno= 1 Update Employee set salary = 400,001 Where empno= 27865 P1 P2 Update Employee set deptno = 1 Where empno= 27865 Update Department set name = Acountancy Where Deptno= 1 P1 P2

  23. Database Interfaces – Transaction Design Very important for maintaining consistency of database Database Table. Department Dept no : Integer PK Name : Text Manager : Integer FK Database Table. Employee Personnelno : Integer PK Name : Text Married : Boolean Address :Text Dept No : Integer FK We are promoting Bernard Stock to be manager of IT Begin Transaction Update employee set salary=65,238, deptno=1 where empno=301 What if it fails here ???? Update Dept set manager=301 End Transaction (or Commit)

  24. Test is a job about human interactions – learn more about how we function as humans Talk to the developer’s Elephant – the driver will understand in the end – it might take time  Look after your own elephant Think before you interact with the developer Help the developer with his interfaces – he NEEDS it !!! Get close to the DBA – he will love you for it !

More Related