Presentation is loading. Please wait.

Presentation is loading. Please wait.

I’m Michael Bolton. I teach people how to test software.

Similar presentations


Presentation on theme: "I’m Michael Bolton. I teach people how to test software."— Presentation transcript:

1 I’m Michael Bolton. http://www.developsense.com

2 I teach people how to test software.

3 James Bach and I co-author a course called Rapid Software Testing.

4 Testing, the way we teach it, is based on heuristics.

5 A heuristic is a fallible method for solving a problem.

6 A heuristic often works, and it sometimes fails.

7 In testing, an oracle is a principle or mechanism by which we recognize a problem.

8 All oracles are heuristic. (Not all heuristics are oracles.)

9 Since all oracles are heuristic, an oracle often works, though it can sometimes fail.

10 When we see a problem, it’s a problem with respect to some oracle.

11 Oracles don’t guarantee that there’s a problem, but they point to potential problems.

12 Consistency is an important theme in oracles.

13 So is inconsistency.

14 We suspect a problem if a product is inconsistent with its history.

15 We suspect a problem if a product is inconsistent with our organization’s image.

16 We suspect a problem if a product is inconsistent with comparable products.

17 We suspect a problem if a product is inconsistent with claims made about it, by important people.

18 We suspect a problem if a product is inconsistent with user expectations.

19 We suspect a problem if a product is inconsistent with its presumed or intended purpose.

20 We suspect a problem if a product is inconsistent with itself, in two or more places.

21 We suspect a problem if a product is inconsistent with standards or statutes.

22 We suspect a problem if a product is consistent with problems we’ve seen before.

23 We run the program, and to some, it seems like we just notice problems as we go along.

24 That’s all there is to it.

25 Noticing problems is a very logical, objective, dispassionate process.

26 Isn’t it?

27 Recently, I realized a hole in our profession’s folklore about the process of testing software.

28 That realization led to a question, which I’ll ask presently.

29 But first a little background.

30 I was at a conference, and a presenter was asking why projects based on 100% test automation fail.

31 The presenter was a guy from Microsoft.

32 Never mind his begging the question about what he meant by 100% automation…

33 I noted that automation can’t empathize.

34 I noted that automation can’t anticipate.

35 I noted that automation can’t recognize.

36 I noted that automation can’t judge.

37 I noted that automation can’t predict.

38 I noted that automation can’t project.

39 I noted that automation can’t evaluate.

40 I noted that automation can’t assess.

41 I noted that automation can’t become resigned.

42 I noted that automation can’t get frustrated.

43 I noted that automation can’t invent.

44 I noted that automation can’t model.

45 I noted that automation can’t resource.

46 I noted that automation can’t collaborate.

47 I noted that automation can’t make conscious decisions.

48 I noted that automation can’t work around a problem.

49 I noted that automation can’t strategize.

50 I noted that automation can’t charter.

51 I noted that automation can’t teach.

52 I noted that automation can’t learn.

53 I noted that automation can’t appreciate.

54 I noted that automation can’t question.

55 I noted that automation can’t refine.

56 I noted that automation can’t investigate.

57 I noted that automation can’t speculate.

58 I noted that automation can’t suggest.

59 I noted that automation can’t contextualize.

60 I noted that automation can’t explain.

61 I noted that automation can’t elaborate.

62 I noted that automation can’t reframe.

63 I noted that automation can’t refocus.

64 I noted that automation can’t troubleshoot.

65 I noted that automation can’t THINK.

66 The guy from Microsoft said...

67 “True. But I don’t see why you’d want your automation to get frustrated.”

68 Despite a lengthy email exchange with him, in which I pointed out that

69 frustration indicates a problem for a person

70 and the Microsoft guy had just recently blogged about a bug that frustrated him

71 he seemed to remain clueless about why getting frustrated might be significant.

72 I was getting frustrated by that, so I knew I must be on to something.

73 I realized that often, when I notice a bug, the recognition is triggered by some emotion.

74 Frustration.

75 Confusion.

76 Annoyance.

77 Impatience.

78 Depression.

79 Boredom.

80 Irritation.

81 Curiosity.

82 Amusement.

83 Emotions are associated with a state that psychologists call arousal.

84 No, not that kind of arousal.

85 Arousal is a physiological and psychological state of being awake. (according to Wikipedia)

86 Arousal is important in regulating consciousness, attention, and information processing. (also according to Wikipedia)

87 Automation does some stuff very well.

88 But…

89 Automation doesn’t get aroused.

90 Automation doesn’t notice new bugs.

91 Automation doesn’t identify new risks.

92 Automation doesn’t identify opportunities for improving test design.

93 Fortunately, people can do those things.

94 So here comes my question.

95 Our clients are human.

96 Our humanity as testers helps to reveal important information about our products.

97 Emotions provide a rich source of oracles—principles or mechanisms by which we recognize problems.

98 I’ll wager that any time we’ve seen a bug, our emotions were a big factor in recognizing or interpreting it.

99 Why do so many in our profession seem to be so oblivious to the value of emotions?

100 I’m Michael Bolton. mb@michaelbolton.net http://www.developsense.com


Download ppt "I’m Michael Bolton. I teach people how to test software."

Similar presentations


Ads by Google