The Future of the Testing Role - James Bach

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Applause] [Music] thank you I love giving talks thank you for allowing me to do this my some information will be slightly over the boundaries of this system because we have a some kind of technical problem but it's ok I you have me to explain it to you to let you know what I'm trying to say I want to talk about the future of the testing role this is a very important topic these days I'm working with a midsize fast-growing software-intensive company right now you know what I'm talking about you go into this place and there's no offices and not enough conference rooms the conference rooms are always booked always full because the architect didn't think anyone would ever have a loud voice like I have and you can just talk and everyone wants to hear what you say all the time which I wish was true that turns out I visited this famous agile place in Germany within 30 seconds I'm getting shushed and I'm like dude I thought you liked the open plan office because you want to hear what everybody has to say who's on the team right then everybody's got earbuds because they're desperately trying to create private spaces for themselves anyway this place is full of open plan everything its walls full of you know post-its and things that are like post-its and everything's a whiteboard while I love that that use JIRA they're obsessed with JIRA everything is on JIRA I kind of like that because JIRA when you first encounter it you go oh my god I hate this but it's the kind of tool that you can get used to it's it's kind of like if you're vegan you go like ooh fast food but within three days you can get really used to it even if you're like oh man I can't do without my french fries now and it takes a long time to get off that habit I assume that heroin is the same way agent I haven't had that experience so so they use jeer intensively and they have this belief as many as many companies have that like do we really need testers do we we I guess we have testers but they're sort of ambivalent about testers and I think the testers sense that that the agile world has always been always been ambivalent about testers there's not a place in agile original recipe agile for testers says chem caner says when the first things Angela did was fire all the testers why did they do that because they were they didn't understand testers there had only worked with bad testers and the people who created agile were all developers so they just saw testers as one of those bean-counter other people that we can probably optimize them away you don't really need accountants in the world they just get in the way right you don't really need regulators in the world right they just keep us restoring our chemicals where we want to store them and that horse is our buzz there's all kinds of things where if if you're a certain kind of person you're not in the business of caring why we need those kinds of people but if you're in a different world then you know why we need those kinds of people you know sometimes the world is like that so basically look as Chell was created by developers not by testers and then experiences with bad testing and actually I created my whole testing methodology by having experience with bad testers and I was reacting against bad testers too but I didn't want to destroy all testing I wanted to raise the craftsmanship level of testing and they make testing better so so now we have to deal with this legacy from it earliest days we're agile said testing is a specialty we shouldn't have specialties by the way everyone should specialize in programming hmm there's something wrong with that everyone sits but you've got to have good programmers duh so that means everyone's got to learn to program everyone's gotta be a coder to me that does not add up at all what they're really saying is we're programmers everyone should be like us it's not there should be no specialists it's where programmers everyone should be like us which is just ethnocentrism again it's an us-and-them thing but having said that there's a there's some really good things about this from a testing point of view the idea that well everybody should test everybody should care about testing everybody should care about quality it's the whole team's responsibility yes I like that idea I like the idea of everybody working together so let's stop saying that's not my job I don't do that because it's not my job ok I like that part but unfortunately in real life if you're gonna get good at something you really need to practice and focus that's why I'm not a racecar driver because I kind of like to be a racecar driver but I although I have driven a car for decades I have never studied driving so I have a lots of experience but I am NOT an artisan car driver you see I've also been a professional programmer for more than 30 years 33 years that I have been paid to write software in some form or another and yet even today I would say I would never get up on a stage at a development conference and say here's how you name your variables because I know instead I go you know I probably do okay but I'm sure I have a lot to learn about naming variables not because it takes a lot 33 years to learn it and I'm stupid it's because I've never bothered to learn it because I don't care but I would care if my core only job was developing production code then I would care a lot and I would try to be the best I could be and I would want to be a samurai of coding but I chose a different path I am a software tester and I love software testing and I love it so much that I have gotten into depths of software testing lore and skill that seem bizarre bizarre to most other people they don't understand why I recommend books like seeing like a snake you should read a book called seeing like a state why what it's a book about how nation-states attempt to control things by measuring them and in so doing completely screw things up well what does it have to do with that with testing it has everything to do with testing because management is constantly putting pressure on testers to to make their work legible I bet you've never heard the word legible used in that context but this is powerful concept the concept of legibility is the concept of can other people read what your situation is can Outsiders read your situation that's what legibility is so it's an extension of the obvious everyday idea of can I read what my doctor wrote on the prescription is can authorities read the status of taxpaying citizens so they could figure out who owes taxes and for many years they couldn't actually the development of first and last names in the Western world was all about taxing people they didn't people who didn't use to have fixed names like iron William the long-haired guy you know that's how I'm known and well we don't know if you owe any taxes because just like three willingham long-haired guys in your area and we don't know who owes the taxes Sunday that's one reason why they forced people to have fixed names this book is fascinating how it talks about the imposition of order on to an unordinary system and how that has really hurt systems human social systems by doing that so here I've just gotten you into some like little detail and some of you here are going like isn't even supposed to talk about testing and they're all a testing why is he talking about seeing like a state that's because to be an artisan of testing means to put little root tendrils out in all kinds of fascinating subjects in order to develop a precise and nuanced view of how do I make my work as a tester which is inherently abstract I don't produce something fundamentally that is a thing that I can show you I produce knowledge information I inform you that's my job but how do we grab on to that how do I make what I do legible to you and if I can't make it legible to you will you think there's nothing there and if you think there's nothing there will you fire me will you fire my kind will you say we don't need those people they don't do anything and that brings us back to the future the role of the software tester because I'm going to tell you right now one of the things you got to do if you want to save our craft to your testers is we got to make our our work legible to people who are non testers we have to be ready to explain it and we need to display it to them in a way that doesn't denigrate our own work and if you try to turn your work into little bricks called test cases you're dumbing down your work unfortunately it does make it legible but it also destroys the concept of testing to say my testing project is just a matter of running these 1,600 test cases then people say well we don't need you anymore we're going to give the 1600 test cases someone who's cost a lot less than you and it'll be exactly the same won't it well no it won't be the same well you just said that this was your work it was 1,600 test cases it wasn't 1,600 test cases plus lots of judgment and skill it was 1,600 test cases so we don't need you ha ha ha and trying to get the good test documentation that the pleases management we can accidentally talk ourselves out of having a job and I think that has a lot to do with the incredible outsourcing trend that kicked in around the year 2000 and led to this incredible loss of testing jobs in the United States and in Europe so the stakes here are do we get to even have a craft do we get to even have a job we've really got to get good at understanding our role if we're gonna have that to have a future this is the PDF with all this stuff in it you can get to via this QR code which has the link to my my Dropbox all right now let me introduce you to mr. deep and mr. wide okay I'm a specialist I'm a generalist okay all right let's examine that let's examine that let's examine that in the dimensions of energy dependability skill and attitude now the specialist his attitude is I'm dedicated responsible skilled and caring but that generalist guy the guy who says I'm a member of the team I don't have any fixed job I just do goodness all day he's distracted unreliable incompetent he never learns his craft and doesn't really care about testing meanwhile if you put yourself in the shoes of the generalist you look at the specialist you get this nice little Hey I've generalist I'm available that tester specialists always guys head down in some job that he says it's so important you can't ask them to do anything these others doesn't have time I'm collaborative I'm versatile I could do lots of things I care unlike the specialist the specialist doesn't care about you now this is a really important relationship and I would ask you to contemplate this where do you stand on this where do you live are you more of a generalist you see yourself as more of a generalist you see yourself as more of a specialist it's important to note and then the next thing it's important to realize is that we can slide this we can say okay so here's the tester what if the tester is the generalist from the point of view of the security tester the generalist tester is that generalist who's incompetent at security testing the regular tester says I know a few things about security testing and the security sesser says yeah you know so you know about putting some special characters into a search field good for you but I study the cert vulnerability database every day and read all the updates to it and I've got a lifetime subscription to 2600 magazine and I got all the tools oh that's nice you use nikto how 2004 of you so from that security step test your standpoint if you felt like I'm a specialist because I'm a tester realized that from someone else's point of view you're not such a specialist and that now you can say and this is exactly what's going to happen in your mind I predict because that's what happens in my mind when I respond to my inner security tester who's criticizing me I go yeah well okay I'm not a super security tester I know something about it but at least I'm available versatile right so if you find yourself being accused of being generalist the natural defense is to think of all the great things there are about being a generalist and if you find yourself accused of being a specialist you think of all the great things about being a specialist in other words they're both wonderful in certain contexts and in certain ways and I can find no way to peg and say this is right and that is wrong instead I think we can just appreciate this dilemma between should I specialize because I'm giving something up when I specialize or should I not specialize but I'm giving something up to not specialize to and it it's gonna it's gonna be a tough question so there's test your team member then there's ten agile team member versus entrepreneur have you ever encountered those people who I find them a little insufferable but you know I try to be open and pluralistic and appreciate them where they go well I'm not really an Agilent I'm an entrepreneur because I just see I don't see teams anymore I see enterprises I see customers and their problems and I solve problem I don't like Mabel's I don't label myself Ann's that's what they'll say like I don't like to label myself I just kind of do good I don't know good as a label and whatever whatever level that you choose you're going to be able to look down or probably look up like I have another entrepreneur I'm a human and I got about that I'm a citizen how about that oh you're a citizen how specialized you are in one nationality well I'm a world organism I don't look down at bacteria so I'm making little jokes here because that really is what's happening in my head is I have to wrestle with all these little sarcastic remarks that my own brain is making about me about my own attitudes but I think it's healthy I think it's healthy to go up and down in the levels here and it loosens you up and it makes you appreciate that this is a real dilemma and there's no I can't think of a quote right answer here all I can think of is that I'm gonna make a choice about how specialized to be I'm going to live with that choice and I'll change the choice if I feel later that it's not working for me and I'm going to try not to harshly judge people who make other choices of course I'm going to judge them because I'm human and I can't help it but I'm gonna try to remind myself in my mind like will it be gentle in the judgement because anything I'm doing to judge other people I just imagine it coming right back at me and so I don't want to poke anyone else harder than I can feel that I want to be poked myself and this is going to come up when we talk and a little bit about more detail more detail about the testing role and should there even be a testing role let's let's talk about what makes testing special really special like what is it that I sat down and said to myself what is it that I could say it's true about testers but is largely not true about anyone other than testers and there there's not much on that list but there's a few things one thing that I can say is that testing is accessible when I say it's accessible I mean if you want to be a programmer then one thing you have to be able to do is write code that compiles and does something and that's a step that not everyone is willing to make ok so you're you can't just drift in and go I'll just write some code oh that's kind of fun maybe I want to do this for living you know it's not gonna happen like that you have to you have to sit you got to think about logic and be comfortable with logic you got to learn certain key words and syntax stuff now of course if you're sitting with someone who's an expert programmer they can make that very easy for you and I've worked with people who don't know anything about coding within a few minutes they started to understand what was on the screen and all that but what I'm saying about testing is is that a child can find an important bug in any product I put in front of them unless the product is so obscured that you can't you you need specialized knowledge as a user even to encounter the product so like some kind of special radiology calculator system maybe we can't even get to square one on it without some knowledge of radiology but you wouldn't need any knowledge of testing because all humans are testers all humans are testers and you would know this any of you who've read any of the literature about child development and the nature of play there's some wonderful books out there there's a book called the playful brain which talks about how rats play and all the hiss three of experimenting on rats trying to figure out why do rats play what does it do for them and one of the conclusions over the years of experimenting that they've come to is rats playfully fight each other as child rats because they're learning how to get along with other rats as adult rats are going to be living in close proximity with adult rats and they need to stay out of conflict with them and they need to deal with things that are unpredictable and rats who have been prevented from playing all through their young rat lives when they encounter something unexpected they freak out whereas rats that playfully fought other rats as child rats they encounter unexpected things and those stress hormones as courtesans or whatever they're called courtesans those chemicals don't build up they get cleaned out really quickly in adult rats that have had a history of playing and and then the book makes the point that this seems to also be happening in other species and it seems to also be happening in humans human children must test their environment and any parent knows that their toddlers are constantly poking at the environment testing testing pushing finding out what happens if you step over certain lines and then developing based on that that's all testing process learning language is a testing process learning to walk is a testing process so I would say all people are testers but then here's a curious thing that happens to kids as they grow they learn how to get along and that destroys their testing skills because yet now the destroy it causes you to cover them up to suppress them because you learn how not to say things that upset people and to some degree I think really good adult testers are people who never learned how to not say things that upset people or don't care as much I'm one of those people and you view Google men you know I have this reputation of like I love arguing with people it's fun and exciting and very pleasurable for me but I have come to realize that very few other adults have the same internal experience that I have when they argue they I was in this management class once where they went around around the room the instructor said I'll give me one word that comes to mind when you think of conflict and I was the only one who said fun nobody else said that they're all pain and embarrassment and like I'm like fine look at me and I didn't understand until that moment that I'm weird but I was one of the very few testers who are in that room so it's I don't think it's coincidence that I found my way into testing and they stayed lots of people find their way into testing not a lot of people stay for 30 years but I've stayed is such a comfortable psychological environment for me to say that something might be wrong here what a comfortable place to be in something might be wrong here and people going really tell us like instead of shut up negative man you know instead it's like really if you see something wrong please just say something I will thank you what a great job so testing is very accessible because anyone can get into it that doesn't mean anyone can be really good at it because there's all kinds of special skills of social skills rather sophisticated social skills to be very good at testing and all of its aspects but certainly anybody can do a little bit of testing it's my point the second thing that's unique about the testing task is that it is inherently unbounded which messes with people it's so hard people are always saying well you have to be able to measure if it's done and whatever and a lot of my consulting work is just saying no to people they can't believe I say no to them I'm a manager nobody says no to me I'm saying no to you you just paid me to give you good advice and I'm telling you no we're not going to measurably say that we have for sure completed testing that's what you need to hear right now is that you're asking for the impossible so let's talk about what's possible and how you're going to live with it you got to learn to live with reality unless you president you kind of learn to live with reality and that my job is to help you do that because all these things are true there's no bail that goes off when you find the last bug like when you finish playing level one of you know kill all the aliens or whatever and it says level one complete if they want to make that a realistic game then they should have you wander forever and the ice caverns wondering if there is not yet one more alien for me and you have to press a button that says I think I'm done and if you're wrong you immediately die and you cannot respond that's what it should be that's life baby so the same code it might succeed in one situation but change the day that little bit and suddenly it fails so you can't just do code coverage there's some of you here maybe that go like I'll just manage your code coverage James yeah but you're not measuring data coverage are you because there's an infinitude of sequences of data that you can give it as an infinitude perhaps of different states are normally accessible States we can talk about those with our formal state models but there are also states that nobody knows about that hackers discover like hey when your system gets to this temperature the clock begins to drift and I can use that to break into your system that's not an official state of your system but it's a real state of your system it's testing is unbounded because I never know for sure all of these things the status of them what I have to do is I have to let go of certainty and that is an emotional and social process the letting go of certainty to say there is no there is no done there's or you can put it this way there's no complete but there is done and what done means is I've decided to stop working on it that's what done means I've decided to stop working on it that's okay you can decide to stop working on something but it's very different to say I decided to stop working on it because there's no more work to do and I am sure of it you don't know there's no more work to do but you absolutely need to make a decision to stop working on it at some point and you need to take responsibility for that and and that's okay it's okay to be wrong about that you learn and you grow and you get better but boy so many people just don't want to hear that they want to hear like what is the spreadsheet that you can me James the testing consultant that tells me the optimum point at which to say that we have that we have finished how many of you work in environments that use acceptance criteria as a basis for saying that testing a certain story you had that acceptance criteria I'll bet you if I were to look at your acceptance criteria I would say these aren't acceptance criteria these are descriptions of your features that's that's all they are and I bet that that's true because I have not yet seen anyone labeled anything acceptance criteria that was actually acceptance criteria these are the criteria if these criteria are met we will say that it is accepted and we are saying it's accepted because we have really good reason to believe that it is acceptable some of you have acceptance criteria that would say things like this if this you know the software can do this like wait hold on that's a completely anti testing thing to say the software can do this that's like saying if this person this suspect is capable of not murdering someone if you've seen at least one time or they didn't murder someone they're innocent of murder wait that's not the way it works we know I don't I don't look at someone and say this person can't be a murderer because I spent 15 minutes with him and he didn't murder me but that's what it is when you say I say it got the report it showed me the report quick accept it before we find the bug in it instead what you should say is I its we're done and I accept it when I've tested it in a reasonable way that's the universal acceptance criteria is after I test this to a reasonable degree which is impossible to define but we can build a case for that and make a persuasive case that we've tested it enough based on talking about risks and all that stuff at that point we will accept it not that it displays a certain behavior that is the antithesis of testing to say once it displays a certain behavior that must mean it's good you don't need any testing at all if that's what you really believe because surely you can create something that one time in one situation is going to do something that's that's acceptable so we we we live in a world that constantly wants to pretend that things are bounded even though they're not bounded and that's something is special about testing our critical perspective is special about testing everybody else focuses on success everyone else votes we are the only people who focus on failure everyone else says like let's create quality let's do something great let's produce something wonderful my job is to go maybe you'll fail and people go oh and a horrible thing to think I'm paid to think that I'm that's exactly that's exactly why we have TSA people with metal detectors and all that do you want them to go come on folks let's have another flight where no one blows things up all right let's go everyone just come through we don't need a metal detector having a metal detector just have just assumes that there's gonna be a terrorism and that bad negative thought creates probably creates the violence so let's just let's just think positive just don't let anybody think anything negative and then everything's going to be okay here's the the weird thing about that if you did that if we just got rid of secure in airplanes most airplanes most the time would not blow up there really and then people go see positive thinking works also if you get rid of all smoke alarms you could you'll realize hey we didn't burn down the place oh we don't need smoke alarms it was always a hoax and you could go you could go years and not have smoke alarms until something burns down and then you realize oh maybe we should have those smoke alarms I guess so that's a tough thing about testing is we need to have our critical perspective but there's always someone who says let's just do an experiment for five minutes let's think positive and see if we're hit by lightning oh we're not hit by lightning so therefore we never needed anyone to think critically about anything they will deny that and we need to say why why it is that the critical perspective is so vital and here's the thing the critical perspective can't easily coexist with the positive perspective they hate each other the positive perspective oh it's it's so annoyed by negative talk it's a totally different way of thinking it's a constructive building here's what's possible way of thinking and yet the negative thinking mode finds it so easy to think well you could get hit by a meteor you know you could get hit by a bus we could but it won't happen I have faith that it won't happen it probably won't happen yeah but it could happen it could happen so the negative thinking mode pushes out the positive thinking mode the positive thinking mode pushes out the negative thinking mode there's an inherently different vibe different process different kinds of probabilistic biases that are coming in to those things and we've got to deal with that and that's unique about testing and I think a big part of how we can be valuable as testers is because we're not burdened by those the need to build anything we can just get really good at looking for problems and not say well I have to spend half my time trying to prevent there from being problems so I'm gonna be a cheerleader half the time in favor of the team and then I'm going to be a essentially a cheerleader in favor of things getting in the way of the team because that's how you feel it's kind of odd it's not as a tester it's not that I want things that go wrong you know when you ever see a tester high-fiving another tester when they find a big bug it's not because it's like yeah it's stupid developer now he knows how worthless he is that's not why we're doing it developers this is not why we're doing it when you see two testers high-five each other yeah big bug whoo-hoo it's because we're saying to ourselves we're useful today because it's really most of time as a tester the better the developers are the more time I spent wondering what am I here for anyway what does it matter what I do he never makes a mistake I want him to make a mistake but I don't want him to make a mistake you know what I mean I just I feel useful and you know that's a it's a normal bit of human psychology that I'm sure that firefighters feel this when they see like a building burned down they go like well I didn't want that building to burn down but doesn't it make you happy that I'm a firefighter you haven't given me a raise or something or fill the new firehouse but I'm not I'm not to say that it's you know a good thing that the fire happened but at the same it's a really weird kind of emotional dilemma that you go through when your job is to fight bad things you also secretly kind of hope enough bad things will keep happening so that people will value you that's the point my objective unlike the objective and if anyone else on the team is to inform my client I am trying to create an informed clientele I imagine potential risk I analyze actual risk with my provocative experiments I report that risk in a helpful way I am the headlights of the software project now this is the graphic I used and then I was looking at my slides later and I thought this is the wrong graphic to use headlights in your eyes maybe not the best metaphor for testing let's turn that around that's more what I'm talking about it's not like I can't understand anything because the test report is blinding me instead or I'm the bug it no no there see let's not let's not hit that deer it's that's the idea really it's the better graphic so that's thinking about risk will people misunderstand that graphic I prefer be called tester there's a little bit of identity politics I suppose and all that stuff I feel that tester is appropriately humble sometimes people don't think testers good cuz it sounds unskilled or something and I golike know it sounds humble I want to have that humility come in because I don't have much humility in my life so I'll put it in my title tester instead of tester engineer extraordinaire or tester Q a super-duper excelling on or whatever and I always have nervous saying QA I only use the term QA because other people use it and they seem to be upset if I don't use it but I really don't I feel like QA is kind of what all management on a project is QA they're all bear two especially the leaders you know the leaders of the project are there to make sure that quality is sure just like I as a parent with a small child I don't have a small child anymore but when I did my job was to assure the quality of that child's experience my son's experience as he went through the world and to clear obstacles and all that sort of thing so to me testing is a specific kind of activity that almost everyone when they say QA they really mean testing it's just it doesn't sound grandiose enough for them so they've got to do other things so I identify as a tester and I want there to be a role for testers I am a testing specialist that's not to say that other people can't be testers and here's one way that I that that I try to deal with these issues is in the company I'm working with right now that I mentioned at the top that does all JIRA stuff and they have something like seventy five full time clusters but what we say we define testing and what a tester is inside that company as someone who is doing testing is a testament so anyone is a tester to the degree they're doing testing or at the moment they're doing testing so all the developers our testers when they're testing and I'd really call that person a tester at the moment that the testing is happening and I want to say a tester does this the tester does that then I'm referring to the developer at that moment but that's different than being a testing specialist so we distinguish between a tester and a testing specialist I find that a useful distinction because I think it really is important to get other people involved in testing it is a very accessible thing and lots of other people who are not testing specialists can help me be a better test room now I want to invite them in but I also don't want to scare them away with too high expectations of what I expect them to do meanwhile I do have high expectations of testing specialists if you're going to call yourself a testing specialist you're saying I'm going to operate at a high level so what is unique about good testing specialists we test deeply and reliably that's our special thing we test deeply and reliably now here's the thing I had this frequently have conversations with people about testing that are a little frustrating but I had one particular frustrating conversation which led to a kind of an insight that I want to share with you now I'm talking to a guy on the DevOps team who writes automate what he calls automated test cases and I would call automated checks because I don't put the word testing on non human processes to me testing is a human process but you can automate fact-checking and that is a powerful wonderful thing to do I think we can use all kinds of automation to automatically gather thousands of facts about the product I want that so I'm not against that sort of thing I'm just against confusing that with all of the things that human does call testing because as soon as you do that what happens is people say we don't need testers anymore because all they are are people who push buttons on these on these fact checks so I'm talking to this guy and he's a bright kid and he's saying a ho testing is so easy testing is so easy to him oh my god testing his hard testing his heart come on man hello I don't know what you're talking about it's just easy I just picked it up so quickly huh and then I realized what was happening and a picture emerged in my mind and here's the picture here's testing his easy guy here's testing us hard guy alright and under the water here it is here's the surf the the bottom of the sea that drops off down here now you can't see cuz it's cut off but down at the bottom here it goes way down there's a little treasure chest down here and or there's going to be yeah it just got dropped down this little treasure chest here and treasure chest there now these are sharks now you can't really see the effect cuz it's cut off but there's all kinds of blood and the water and spent hours making that CGI just this part you can't see so much but the see this is what I realize what's happening what I realize it's happening is I'm like a deep-sea technical diver capable of operating 300 feet below the the surface to to excavate shipwrecks and I've got all kinds of like special triops compound and incredible equipment and Kevlar this and that and I'm talking to someone who says diving is easy and all he ever does is he wades around in four feet of water and he's got this little like broken snorkel and he goes I don't know he's not going about it he's just so easy and I realized it's because he is in a situation where good testing is just checking it's it's really very little that needs to be done he was in a low risk situation with his project and he proved it to me I had talked to I was trying to find where his testing was going wrong because he was only thinking about it in a shallow way and what he he demonstrated to me to my satisfaction is he's doing fine he doesn't need to do anything complicated here because the technical risks he's dealing with are minimal so to do deep testing would be gratuitous obsessive unnecessarily expensive they don't need someone like that it's like you because your finger you put a bandaid on it you don't need you know to call a surgeon every time right so this is one of the dilemmas is I developed myself over the years and someone who you give me any testing problem and I believe I can handle it as well as anyone else can in the world unless there's someone who absolutely specializes in that exact kind of testing in that exact kind of technology that maybe they'll be better than me but I would still say yes to the challenge of any arbitrarily complicated thing you want me to do and that's what 30 years of perspective and knowing myself that's what that's that's what you get is an older technical guy you know you get that you don't need that if you're on a DevOps project was just doing simple stuff comparatively so we have to keep this in mind dedicated testers test more deeply and more reliably but that might not be called for on your project it might be that there's not a market for highly skilled testers in the in great numbers but I would argue that there is a market or ought to be as we educate the market a market for highly skilled testers in small numbers unfortunately if there's only a few people that want to be really highly skilled testers so I don't think there's ever gonna be a whole lot of competition for that but I'm trying to create that market for testing craftsmanship where the testing craftspeople can anchor a testing strategy and then draw other people into it who are not testing craftspeople who have other things that they do or maybe they're just junior people and that they can be orchestrated by sophisticated test leads who know how to work this stuff another thing that we're able to do is we can explain and defend our testing that's what's special about a testing specialist anybody can do testing a child can do testing but a child come out write a test report or even say a test report and one of the things that I keep encountering as I go to these agile shops is people say things like oh yeah I tested that and I go okay explain your test strategy and they go what do you mean test strategy well I you know how did you test it well I wrote test cases well okay what would your the design principles that guided your your test case and say things like well in one case the guy said well I tested everything okay all right well what does everything mean like kids cannot be described it must be felt you know it is then it goes breaks into a Broadway song let it go or something so and that's sometimes when I challenge people on this they get really upset they go like why are you yelling at me why are you well you're you're so critical like my job is to evaluate the test process I was hired by your management to do it so I'm gonna ask you some questions about your work and you can answer them or you could not answer them but if you don't answer them that tells me something about your work and you you challenge my testing I will give you an earful you might want to get some popcorn in a chair because I will go on and on and on explaining the ins and outs I'll say the first thing I'll say to you is is it true has someone come to my cave and wishes to know my secrets oh thank the gods finally someone to talk to someone interested I will share with you all that I know and then by then they've run out of the front of the cave that is one way that you this is how you know the day you become a craftsman or a craps woman or whatever you want to call yourself this is how you know the day you become that is when you're really eager for someone to criticize your work because you've got so much to say if they do like oh if you consider this or that or that's a good point but let me tell you why I did it that way maybe you can see the dilemma I was in like oh okay oh my god this person is just obsessed with how they work you'll get you can find this with with developers you go to a development conference now I want to talk about like I use a closure or a recursive calcetin or whatever and they the singleton the pattern or like what do you think I'm like oh my god I'm in the wrong place I'm not a artisan developer I just write code and they'll go cute you just write code okay you're not really a craftsman of coding then are you James because you don't know the terms and you can't defend yourself when someone says you know compare this code to that code and tell me where this one would be better to do and where that one B would be it better to do in the context of PHP virtual servers or something like that but I can do that when it comes to testing and I pride myself on doing that so I know I have a specific way of giving test reports I give three level test reports which is just a simple pattern of test reporting but anytime I give a test report I'm always going to give a three level report I'm going to tell you about status in the product I'm gonna tell you about what I did to test the product how did I find the status and I'm gonna give you information about why you should think that the process that I used was a reasonable process so I'm gonna talk about risk I'm going to talk about my activity and tivity and then I'm going to talk about the status of the product which is which is why you hired me to begin with I'm also able to understand and advocate for testability I would argue that that if you are going to be a professional excellent tester then you should be able to lecture about testability advocate for testability talk about testability in specific terms like I want to talk about logging please give me a functional log build it into your software because I don't want to have to remember what I tested I want to ask the product hey product when I was testing you do you remember what I did with you and I want the product to go you did these things you touched all these functions thanks product that saves me from having to take a bunch of notes that saves me from having to have a recording tool that records everything I could just have it all logged but of course if they don't build those logs in or they don't give me access to those logs then that means it's a little harder for me to do the testing I want to do I also want access to different levels of the product I want to be able to separate pieces of the product from each other so if I have a problem I want to be able to say well let me just test this unit by it I may need to have the infrastructure that let's be separate that unit and feed the results in so I can say okay so the problems not they're the problems over here so that when I write the the bug report I'm writing a bug report that's properly targeted I want developers and want managers when they see that my name is on a bug report to take it very seriously because this guy doesn't write bad bug reports I run the class where I have people write formal bug reports and I review them as if I'm a manager one thing I found very fascinating is that if a student writes one bad bug report there's a part of me that just doesn't want to read any of their other bug reports and I figure if it's happening to me and I'm teaching a testing class imagine what it must be like for people who don't care about testers they I think can come to a terrible opinion of you very quickly and then turn down the volume on anything you're saying if even one time they look at a bug report and they go I don't know what you're trying to say where are the screenshots I don't underst did you even try to reproduce this did you think about this for more than five minutes come on stop wasting my time but if if on the other hand the first bug report I see from a testing student is got screenshots and it says and here's a workaround I tried and it didn't work and here are three other ways that I thought maybe it could work so I tried those then I go wow here's someone who's thoughtful I should read all of their bug reports I should pay careful attention to the work of this tester so you gotta know about testability you've here's something else what's unique about good testing specialists is we question not assumptions no that's too easy we question safe assumptions that's why people hate us because if you if you question assumptions you know people don't necessarily hate that you know like should we assume that the product is bug free I don't think we should you know people go yeah that's a good point tester like no one's gonna hate that we shouldn't assume the products bug free okay yeah let's question that assumption that's a bad assumption the problem is is when there's a cute little bunny assumption and the tester just smooshes it with a hammer you know that's when people go oh tester we liked that assumption we really wanted that assumption to be true and we're sure it is why are you questioning safe assumptions but questioning safe assumptions is something that is unique I would argue about testing and marketers don't question safe assumptions no one else questions safe it's a safe assumption by definition is one that if you do not question it people are okay with that that's that's what I'm in its socially safe that's what I really mean so I say for some assumptions that are acceptable to make without any special management or declaration even though they might still cause trouble so obviously if there are risky assumptions we can question those but no one is going to get upset at us for for for doing that they will get accept to us upset with us properly if we if we question required assumptions do you might wonder what is the required assumption James here's an example of a required assumption and what happens when you you question it if you I invite Payson here to dinner and he shows up like he did last night and the the first thing I say is you know Aysen stealing is wrong he would probably go what I'm just saying I mean I'm assuming that you understand that stealing is wrong that you like for instance it would be wrong to rob me during this dinner engagement I assume you know that he would go like of course I do what are you getting at nothing I'm just questioning I'm making sure that it's not just an unspoken thing so see a required assumption is one that if you were to question it you would be considered to be joking or insane or insulting somebody so testers we don't question all assumptions there are certain assumptions that we're just gonna go with I don't come into work every day and going go like do I need an ask you mass do oh is it safe to breathe in here I just I go ahead and have faith in a few things but but I have to be careful because there's a line where people will just tune me out and that's unfortunately the line is sometimes way up here sometimes assumptions that are pretty safe but not insane or wrong or insulting to question are treated as if it is insane or wrong or insulting to to question that and we testers have to deal with that social dilemma at times that is a unique issue I find in in the world of testing it's the same thing if you're a bodyguard if you're a professional bodyguard you have to be really paranoid about people and you become a very unpleasant person but that's your job you know some little girl with flowers rushes up to your client that you're protecting and you've got to think like okay could this be Isis like what are those flowers otherwise you're not doing your job but it does make you a weird person also testers study self-deception nobody else studies everyone else practises self-deception they practice they don't really study it our job is to study it of course as soon as they wrote this slide I started wondering do testers really am I just deceiving myself here so I thought I should think about it look what does it really mean to study self-deception I'm not sure that I have that worked out right so I'm just going to tell you I'm a little worried that I might have made this one up but I will put this out there as an idea for further work and examination that it may be that what makes a dedicated tester special is that we study self-deception and we try hard not to deceive ourselves and we try hard to understand what is it that deceives other people and we're gonna try to undeceive them as I frequently say we just testers do not break products I don't break the software I break your dreams about the software that's what I do that's my job is to break your dreams to break your illusions you're on the helpful dreams let's say I should probably say that I break your unhelpful dream just more fun to say I break your dreams so that means that our I study biases cognitive illusions framing effects what people show me things like here are the acceptance criteria I immediately think how is it that these things are worded what are they not saying how could these these acceptance criteria be putting me to sleep and how can I wake up and see what really ought to be here and as a tester I would say that's just part of my everyday job if I'm gonna be good at it as a testing specialist now I'm ready to talk about roll let's say you got 36 minutes left okay good I'm on a good time now that I have talked about testing I've gotten you're all at least I put on the table what I think is special and important about testing and testers I want to talk about roles this is a definition of roll from the Oxford English Dictionary the aspect of this and I care about is this I would define role for my purposes as a task associated with a contract so in other words you can be a tester who is not in a testing role what that means is is you haven't promised anything that's really key I'm doing testing but I'm not promising anything you know I live on Orcas Island up in the San Juan Islands and I was trying to make my exercise because I have to exercise or else I'm gonna die so I had to I'm sorry I have to exercise or I'm gonna die a little sooner tiny bit sooner than otherwise would and I'm irrationally attached to life so so I found that walking is boring running is a problem for me because I get shin splints so I found a way to to do exciting walking I pick up trash along the highway and it what happens is is that my walking is a side effect from impressing my wife there loves it that I'm picking up trash on the highway and then it becomes a game of which things should I pick up and how big does it have to be to qualify as trash and what if it's a certain distance off the highway but I see it so I'm thinking about all these things and relating it to testing it's this interesting hunt and I notice it sometimes I not I there's a beer bottle but wait I was here yesterday and this beer bottle wasn't here but it's an old beer bottle so I must have missed it why did I miss it's fascinating to think through this stuff but here's the thing no one's paying me to do this so it's not like the county is paying me I'm sure people driving by are like Oh finally our tax dollars are being put to work cleaning up this place I actually like that they think that like people should think their government is working well but I like the fact that I not I haven't promised anything that means I can quit at any time I can do it I cannot do it but there's a little problem which is my wife leak this to the press and there wasn't a local paper story about me now I feel like I gotta go out do this because people are now expecting the litter guy the litter guy has got to be out there I haven't seen him in a few days what's wrong with him has he forsaken us so now I sort of turning into a contract that I have with the it's a little weird now my brother and I were having a conversation about the testing role because he works at eBay and he wants to be a tester but eBay has this weird love-hate relationship with testers and so he's been all kinds of other roles other than a tester in his his career at eBay and so we're talking about roles and while we're doing it we go to the whiteboard and we've invented a way of diagramming roles that helped us have our conversation I want to share that with you right now this is a task this is a human there's no commitment here because a commitment it's got to be represented as a box this is a robot okay this is a task and a contract that is unstaffed nobody has accepted the contract so the it's a role without an actor so I'm going to call the person in a role I'm going to call that person an actor so you can have a robot that is doing a subset of testing you know a bunch of checking with a human actor kind of hovering outside but not committing to do testing I'm thinking that in many cases that is a dangerous situation it's going to lead to a lot of problems but not in a low-risk situation you might have a very low-risk situation where you're not making a lot of changes you're not doing something that's particularly innovative or difficult and that could be good enough it's goes back to that diagram where maybe shallow testing is is deep enough testing for you and you don't need to go nuts with it and this is a normal tester playing the role of doing doing testing so a lot of times this is me whenever I'm testing I develop software tools that help me do parts of my job and I think that's great I'm very skeptical about tools used in testing but that's not because I don't like them it's just because I have so much experience wasting my time with tools so I want people not to waste their time with tools but that doesn't mean don't use tools that's just like saying I have experience as a carpenter with people misusing band saws that doesn't mean don't have band saws it means you learn to use band saws better and I can be I can have many roles I can be a tester and at the same time be a member of the team of course if somebody has a cardiac arrest right next to me I don't say well is it in the testers job to perform CPR no it isn't but I am not only a tester I am also a citizen and as a citizen yes doing CPR is actually in my job description if I accept the contract the social contract of good citizenship which I do right so realize that you can be in multiple roles at the same time and this is partly my answer to people who say James I don't understand testers should be in charge of helping to create quality and I say no no testers never create quality and they go but I'm on an agile team and we're all supposed to create quality when I say is what you are is you have multiple roles you are a tester and you are also on the team as a team member as a team member you create quality but in the moment you're doing that you're not doing testing and you're not being a tester you have a different hat on as soon as you switch to testing mode you're not creating quality anymore your job is to understand the truth that's what testers do we understand the truth we don't create the truth we understand it it's exactly the same with journalists you could be a journalist and then you can get involved but then you become part of the story and then to the degree you do that that's not journalism it might be something else being a good citizen but you and you put your camera down and save the child from drowning instead of just reporting it that's not being a good reporter but it is being a good person so that's my so in other words I don't disagree that when you're on an agile team you create quality I'm just saying it's not you're not being a tester when you're doing that you are adopting another role why do some people think that roles are fortresses you know we hear that about the size thing I don't get that then I found this picture online that kind of is that I guess they think that we don't want to be the test fee that goes and closes the door and then I get drops boiling oil from why would you do that if you define your role as the complete set of the only things you do and you are not going to ever helped anyone do anything else and I suppose that's what you think a role is I don't think of it that way I urge you to think of a role Tina and you are a socialite hosting parties at your Villa now when I invite people over to my villa I don't own but if I did own it someday I would like to have parties there when I invite people over to my villa they don't live at the villa but I wanted them to enjoy themselves so I clean the dishes I maintain the roof and make sure the doors don't get knocked off their hinges I upgrade the furniture I make sure that the refrigerator is well stocked and that's exactly how I feel as a tester come and help me test but that doesn't mean there's no testing role or the testing role is meaningless I am in the testing role so I make sure the testing happens properly but anyone at very little energy or cost can come and help me and I make sure you have a fun time testing I want you to enjoy yourself testing so I'm gonna if there's anything hard about testing I'm gonna do that if there's anything not fun about testing I'm gonna do that you probably enjoy testing but you probably don't enjoy writing bug reports tell you what I'll write all the bug reports but please come and help me test all you have to do is point at the screen and go it'll like it and I'll go thank you let me take a screen shot let me just look okay go back to testing I will take care of the paperwork on that and then your attitude will be no testing is fun I just have to come and play around my son help me test one day found life critical bugs and a medical device in a few hours with no preparation at all he didn't write the report though I wrote the formal report that's what my skill set lets me do but his skill set based on years of playing video games and a healthy dose of DNA from certain people allowed him to analyze things and he found a way to kill a patient with this methyl device they actually destroyed a three thousand dollar piece of equipment I'm so proud of him I'm very proud of him but he doesn't want to be a tester does a lot of it does he said I'm on mind testing when you're around dad but like I'm just doing it for you like okay whatever so uh if any sorry it's good at casually fantastic at it and drifts away again that's the villa you see people drop in help you out and then they go back to their villa and you know what I can leave my villa I can go over to developer town and I can try some coding and someone else will make sure that I don't check in bag code or whatever I'm glad that they they make sure I've named my variables properly and while I'm there they'll they'll teach me things about development which I will forget as soon as I go back to my own villa but that's okay that's okay they're the expert they're the specialists so you see instead of silo with no windows in it think of silo with huge bay windows and French doors and yes you live there but it's not a prison you can leave you can come back that's the attitude that I would like testing specialists to have specialists of all kinds to have that as I think it's completely consistent with agile so I'm accountable for the test process but that doesn't mean I'm limited to it all right so that we my brother and I decided that we can represent this by having a dashed line the dashed line says other people can come in and do this so this is like an airline pilot sorry you can't come in and share the task flying the airliner it's a closed roll but this is tester in most cases come on in so what that means is these other people can come in help me with the testing now they leave a bit of a mess but that's okay I'll clean up the mess because it was so helpful to have them involved that that that's all that's all cool now this is cut off somewhat so bear in mind this link this is a link to a document that has this information and more on it and what this is is a systematic list breaking down every single element I could think of and my colleagues who I had review this with me could think of at the time but what does it mean to be in a role and to be good at it here's what I came up with there are four things about being in a contractual style role you are promising when you say okay our I am the tester here I am I'm gonna be the tester or I am on this test team what you're saying I believe is I commit to doing testing I will train myself or acquire training to do it well I commit to being ready to do it now readiness is a little different than competence because you can you can have all the confidence in the world but you haven't read the spec you haven't gotten your toolset together you don't know where you're sitting you've got a you've got to maintain your efficiency you must anticipate problems here's the big thing that I notice that people who don't have any testers official testers and they're agile team here's what I don't see them do much I don't see them looking three months ahead saying you know we're gonna need a system to manage our test data and we better start working on it now instead what they typically do is I'm developing developing developing okay time to do some testing what do I do oh I guess I'll write some you use this unit testing framework I'll write some stuff here I'll mock up some data mock up some data here we go and and they're just is this accumulation of stuff and right now I'm the company that I'm working with this mid-sized software company the reason they brought me in is they have reached a point of crisis because their testers have been just been working short term short term short term and they've accumulated huge numbers of files including code and data and no one knows how the product is being tested no one tester can say what's going on and so it's all a big mess now and this is I'm gonna talk about this in a minute on another slide but I'll tell you this is why test managers actually matter and when agile said let's just get rid of managers they had no idea what problems they were creating for the future managers it turned out actually did a job that mattered and now we don't have it and now a company after company there's this terrible vitamin deficiency it's like vitamin C deficiency and all these companies have scurvy now of a certain kind and they don't know they just think oh it's it's these open sores or just because we're not doing agile well enough we just have to like become even super agile and really they I think they don't realize that the vitamin deficiency is a deficiency of middle level leadership which creates spaces within which people can get certain things done even if there's pressure on them because if you don't have that here's what you working under the tyranny of the story here's the story I got a test I'm sorry what do I do after that test another story you're behind on your story keep going story story story story story what about the stories that you the testers should put on that on that scrum board o test just don't put stories on this Trump Court they should as you've got a whole bunch of tasks on there I am going to work on my test data infrastructure today that's a story well how long is that gonna take you a week and a half oh my god no you can't do that you have to separate it in smaller stories okay work a little bit on the testing data infrastructure work a little more than tested in it because I don't know I don't know what it's gonna be it's a whole design process that I have to go through to figure out how I want to store my test data so maybe we should have a whole separate scrum project for it but you can't just say scrum master the testing is not allowed to have problems that need to be solved that's that's not how you do that if we don't solve these problems then it's going to be a huge mess and that huge mess is going to mean that it's going to be more and more expensive to do shallower and shallower testing and you're not gonna like that you're gonna wonder why is testing so slow and why are we releasing bugs the field in other words you'll have scurvy and you'll think it was because of bad air or evil humors but there is a vitamin C deficiency here and it's that the testers are not protected by anyone who can explain to upper management here's how we develop testing infrastructure so then testing infrastructure systematically doesn't get created well I created this set of elements to help reason about the pros and cons of having independent testers and when you look at the full version of this document you'll see that I talked about for every one of these things cost requirements openness here are some ways that this problem is usually addressed and here are some problems that come up because of that so you know the document is designed to help you think through roles rather than as a propaganda document to say everyone has to have super skilled testers in their team technical divers within their team so you'll see that when you when you look this up I just wanted to show you a little about what's in that some of the elements that are in that document all right so there's a summary of what I said was unique and all that about testing everything I could think of that is unique testing I'm concerned that well-meaning amateurs printed my little thing go there we go I'm considered that well-meaning amateurs want to turn this into either a robotic efficient robotic factory which you can't turn into or some happy-go-lucky kids party of testing which is the attitude that I feel I get when I read any book called agile software testing it's like oh it's a big party let's collaborate everything gets done and I'm nervous about that I of course testing is an irritating role by design and we face constant pressure to be nice instead of to be effective and we've got to deal with that now wait I that might be a bi statement because I am aware that there are testers who are super-nice by nature and I am NOT super-nice by nature so to me be nice is like telling me to climb a mountain you're pointing in a mountain all right it's hard for me I have to really work at that but I'm aware that there are people who just float on a cloud of niceness and yet they are still effective testers absolutely you I believe you can be an effective tester and still be very warm and polite to people so I might be overplaying that point because maybe it's just I'm the only one struggling with that but I bet I'm not the only one who struggles with that I think there aren't a whole lot of good testing specialists in the industry and I think one of the reasons is that good testing specialists tend to leave testing and there is less and less of a system for creating new ones coming in to the industry here is a big trend and I've already sort of talked about this so this just summarizes it on the slide manage in my view in the history of testing and I've been in testing since 1987 I think management abdicated stewardship stewardship and the craftsmanship of testing from the very beginning so it was a problem when I joined I mean here's an example here's proof I joined Apple Computer as the youngest manager in the Rd group at Apple Computer in 1987 I was 20 years old when I was hired as a manager of a testing with no experience as a professional tester or any experience whatsoever as manager so how could they do that why the only way they could do that is management doesn't really take this very seriously right that they couldn't find anyone or didn't Karen I'm very glad don't get me wrong I'm glad Apple was stupid enough to hire me but I don't think that that is an indicator of sophistication and maturity on her part that they would bring in on that he can't I mean part of me wants to say it's you're so brilliant James they just saw that like no it wasn't really there's more that the guy that hired me who wanted to mentor someone and he saw well that's a guy that I can really do good because he's so messed up I think that's what he was probably thinking so I was a good guy was mental and listened to him and I got better and I took lots of classes and that helped but that's I think that from early on management just did it really understand how to create craftsmanship among testers then when the lean agile people came along what what mostly agile but then lean later on and well then they just realized well there's no craftsmanship here so let's just destroy test management entirely let's get rid of them because they don't do anything in their view thus anyone who was a test craftsman has now lost his or her power base support base now there's no support my brother has experienced this at eBay where he was hired originally by a manager who really believed in testing and supported him and protected him and then that manager went away and then the rest the new management was like why do we really need testers when developers can just do testing so prove you matter and that's not a good environment then testers become tool jockeys or developer assistants their job gets dumbed down and eventually they all their time gets squeezed away they're disposable time as it were so they can't even do good work secretly because their work is seen as factory work so now they're perpetually stressed all the time and that's a formula for testing to become a younger and younger activity where people leave it as fast as they can because it's just seen as a clerical stepping-stone to the really the real work which is to create a startup that is bought by Google and you keep saying Facebook doesn't have testers as if that's true and as if that proves that we don't ever need any testing it's kind of like my car doesn't have a smoke alarm so why do I need smoke alarms anywhere I'm pretty sure my car doesn't have a smoke alarm maybe it does okay now Kate the langa when she hears me talk about Kate fling is a test manager in New York City when she heard me to do give the first version of this talk and I said you know to testing role is important and here's why specialists or the develop readiness and all this stuff she said you know there's another way to go about it she says in my company I'm the Test Manager we don't have any testers but we do have a test manager and the purpose of the test manager is to advocate for testing and that is another way to get at this issue isn't it because you have the test manager occupied the villa of testing and the whole point becomes not just letting people come in to have parties but to get people to come in and do and do the work but there is someone occupying that that role so that's interesting and I guess she thinks it works for her and I think it might very well work for her but I think another way to put her role is it's not test management it's the testing expert the local testing expert who mainly does the actual work of testing by coaching and supervising testing parties that other people engage it now New York City is a nice little point to bring up because you all should know about the triangle waistcoat Factory fire of 1911 this is a very important event in American history an American risk analysis history and regulation history in that event more than 200 young ladies were killed many of them who jumped to their deaths in front of thousands of witnesses to escape this fire a couple months after that I found this story in the New York Times and this story is testimony by the fire marshal who said you know there are hundreds of other companies that are just as dangerous as the triangle waistcoat company was and there's nothing I can do about it the law won't let me close these places down over the ensuing few years the state of New York put in place landmark first of their kind factory safety regulations which persists to this day so when people wonder why do we have regulations at all we have regulations because of stuff like this that happens why do trains have automatic brakes because in 1893 I believe there was the disaster in Ireland where some 60 schoolchildren were killed by a train slipping backwards down Hill and D railing and it didn't have automatic brakes they had automatic brakes but they weren't using them the industry wasn't using them because it was expensive the next day they were debating a bill in parliament to make automatic brakes on trains mandatory because these kids got killed so this is how regulation works in every industry other than gun safety apparently and this is how industry works it's called tombstone economics that's what they call it tombstone economics so here's the the interesting thing about this you don't have testers it's very much like not having insurance you don't get it sure here's the important thing you see people will say what's the ROI of testing if anyone ever asks you at ROI of testing and say I'm not going to tell you what the ROI of testing is first of all it's not my job to tell you that because you who run the business it's your job to care about this stuff not my job to tell you it's kind of like a kid on a school bus being asked by the school bus driver why should I use my brakes like my job to convince you to stop your bus but the twist that I put on it is I say it's exactly like insurance you don't buy insurance because of return on investment you know buy insurance and go like okay so I might pay in $500 to insure my building against you know wind and water damage what am I gonna get that money back how long is it going to be since we have a flood and then I'm gonna get rich because of this insurance that's not how you think about insurance you think of it as a cost not an investment and it's the cost of doing business we're doing this insurance because if something terrible happens we want to be protected and the reason we test is if a terrible bug is put in the product we want to have some chance of finding it before it's too late that's what testing is it's a form of insurance not an investment once people think about it in the right way then it just becomes well how worried are we are about it and that's where this comes in because before this happened people weren't really worried about young women burning up in factories they might abstractly understand that that's a bad thing but they didn't think it was very likely that's why we as testers need to save those stories those stories that we experience and those stories we hear about of terrible bugs that got by because nobody was focused on the testing so I tracked news stories about this but I also have my own personal story it's the most powerful ones their stories that happen inside your own company when you say look at this bug we found aren't you glad we found it now instead of later aren't you glad I was looking for this and I had the time to look for this ok get getting close to the end here yeah I've got five minutes left oh okay why incompetent actors become competent where did where do competent testers come from I think mostly it comes from seeking self-respect and if you don't have that dynamic going then all you have is fleeing of pain which is not a very powerful or directed heuristic because oftentimes you're not feeling very much pain so in other words if the tester is only getting better at testing because otherwise they are in some sort of intolerable circumstance usually you just have to get a little bit better and then that taller girl circumstance becomes okay but if your seek self-respect that is a very powerful move but how does that happen self-study deliberate practice making your own mistakes if I'm helping people to become better testers I know I can't do that by telling you here's the right things to do don't do this stuff do this stuff don't do this stuff do this stuff that doesn't work very well what I have to do is create an environment where people will have experiences and they will learn from those experiences faster than if I didn't provide the environment I think this should be like how young people are taught to drive for instance I think we should have driving simulators and we should have kids texting and driving in the driving simulators it's like let's see if you cannot have an accident and you'll find that like okay if you don't have an accident all the time when you're doing this but the reason why I don't text and drive is I almost killed a motorcyclist who I don't think he knows I almost killed him but I know and that scared me it really scared me because it was completely out of the blue I mean I just looked down for a few seconds I look up and I barely managed to get slow enough to not run over this motorcycle who had just slowed down to make a turn and I was coming right up on his bumper I must have been a foot behind him when I finally got slow enough and I don't know if he noticed but I just thought that was that would have changed my life that would have really changed my life right there and I really really don't want that change to my life so I have to put this down I have to keep it down it has this poison it's poison keep it away from me I think if I hadn't had that experience then I would have just continued thinking you know it's just like people talking people talk to you in a car and you're fine right so why should just using a little handheld device why should that be any worse but I've decided it is but that's from personal experience so I think you can't tell anyone that I think they have to have the experience or they won't believe it I think that's true about so many aspects of testing that's what we need to do that's why we need test managers that's why we need leaders who understand enough about testing and what people need to become good at testing so that they can craft those experiences and grow these people like they're growing plants you have you can't you don't build a tester you grow a tester it's an organic process that's my point so here's a trend test craftsman in the wilderness the rise of the Omega tester is one element of this this is the fact that in many companies there's just one tester in many groups is just one tester so testers need it needs support outside their companies in order to be that that lonely testers there are some support mechanisms that are growing out there when this conference is an example of that of course but you we need like slack channels and websites and there are some that are out there I think we will expect in the future testers will come from strange places from you'll have people who come into testing as older people who have experiences UX people or business people and they'll become testers at a high level of skill because they have all this other experience and I think another thing which I live right now this is the world I live in is I've created a private Enclave for myself conclave an enclave no Conclave in this case they're both the same a private space where I have a slack channel with my best friends on it and we love arguing with each other so no one complains about people arguing no one calls it bullying because we're all the same kind of bully so he all liked to criticize each other and we enjoy it because we know that each of us is trying to make the other one better so we put our work out there and it gets savaged by our friends and the whole idea is we're gonna criticize it so that when you put it out there in front of people who don't love you they won't find anything left to criticize and that private group is so important to me it's my secret weapon it's how I feel that I deserve to be listened to a lot of you have this feeling that imposter syndrome you don't really feel like you deserve to be listened to but somehow people do so I just like that I'll just leave you with that is that there's a solution to that our solution is develop a collegial network of trusted people who are excited about the things that you're excited about and you all agree to help each other be good to develop yourself because then we will be creating a sustainable solid foundation for the future of the role of testing where you can make the case this is why you should have somebody like me on your team I'm a real professional and part of why I'm a real professional part of how I know that I feel confident not just like a silly egotistical person saying that is I work at it and I got all these people backing me up who are looking for flaws in me and helping me overcome those things and I help them to I'm part of a professional community of software testers that's why you should want to have me on your team dedicated to this in my little villa a software testing which admits other people to come and do testing absolutely it's not exclusive but I will make sure the roof doesn't fall down I think that it could be a very persuasive argument to help professional testing go on into the future even in the devops world and all that all right that's my message you got the link to the materials and maybe P&S QC will want me to post it somewhere on their web site that I'm sure they will figure that out if you have any other questions or anything my email address is is on there and of course I'll answer any other questions but my time is up so thank you very much [Applause]
Info
Channel: PNSQC
Views: 23,738
Rating: undefined out of 5
Keywords:
Id: c5821YeWico
Channel Id: undefined
Length: 98min 8sec (5888 seconds)
Published: Tue Oct 17 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.