作者:邰晓梅 转自:http://www.taixiaomei.com/archives/71
---------------------------------------------------------------------------------------------------------------
一次有幸在SkyPe上接受Michael Bolton的远程辅导,让我更加深刻地认识到了Know Your Mission的重要性,不敢独享,供各位参考!
[20:19:33] Tai Xiaomei: Hi Michael
[20:19:54] Michael Bolton: Hello.
[20:20:55] Tai Xiaomei: Finally I see you here
[20:21:29] Tai Xiaomei: When will it possible for you to coach me online?
[20:21:38] Michael Bolton: Yes.
[20:22:57] Tai Xiaomei: So now is 7:22 AM Nov 12 for you?
[20:23:12] Michael Bolton: No, I’m in Germany right now.
[20:23:56] Tai Xiaomei: You point a time, let me see if it is ok.
[20:24:20] Michael Bolton: Do you want to do something now?
[20:24:41] Tai Xiaomei: I’d like to. But I have to care for my son to sleep soon.
[20:25:14] Tai Xiaomei: How long will it be?
[20:25:27] Michael Bolton: One hour at most.
[20:25:35] Michael Bolton: As short as you’d like it to be.
[20:26:08] Tai Xiaomei: Ok.Now.
[20:26:25] Tai Xiaomei: We do this just by typing?
[20:26:40] Michael Bolton: Yes.
[20:26:46] Tai Xiaomei: OK.
[20:27:10] Michael Bolton: So, I dropped my calculator the other day.
[20:27:19] Michael Bolton: What do I need to do to test it?
[20:27:45] Tai Xiaomei: What do you mean by testing it?
[20:27:50] Tai Xiaomei: What
[20:27:55] Tai Xiaomei: What’s your prupose
[20:28:10] Tai Xiaomei: What kind of calculator
[20:28:19] Tai Xiaomei: It is big or small?
[20:28:34] Tai Xiaomei: Where did you drop it
[20:28:45] Tai Xiaomei: The calculator is very important to you?
[20:29:26] Michael Bolton: What do I mean by testing it? It might be broken.
[20:29:42] Michael Bolton: But you’ve asked a very practical set of questions.
[20:29:45] Michael Bolton: That’s good.
[20:30:03] Michael Bolton: What if I told you that it’s big?
[20:30:24] Tai Xiaomei: Oh, I see. “dropped” means it fell down. In Chinese, dropped means stolen, hehe
[20:31:12] Tai Xiaomei: So your purpose is to see whether it can still work normally.
[20:32:31] Tai Xiaomei: Fisrt you can check its surface: is there any evident broken sign?
[20:33:00] Tai Xiaomei: Second, you click the power key to test its show down and power on funcitons.
[20:33:28] Tai Xiaomei: Third, you do some very simple calculations such as 8 plus 10
[20:33:43] Michael Bolton: Why 8 + 10?
[20:34:27] Tai Xiaomei: It is just an example. I had thought to write 8 plus 8, but I ‘d like to test more buttons.
[20:34:38] Tai Xiaomei: So maybe I should test each number key.
[20:34:58] Tai Xiaomei: so that I know each key functions well
[20:35:27] Michael Bolton: Why would you do a test like 8 + 10?
[20:36:13] Tai Xiaomei: Plus is a basic and frequently used calculation.
[20:36:28] Tai Xiaomei: 8 is a single bit number
[20:36:40] Tai Xiaomei: 10 is two-digit number
[20:37:10] Tai Xiaomei: I tried as simple as I can, while keeping as richful data as I can.
[20:37:29] Michael Bolton: Why simple?
[20:38:51] Tai Xiaomei: Because I doubt the calculation even can’t function well. So first I test wheter it can function well with a simplest test. I don’t need to think about too much about the calculation result because I know it very well.
[20:39:23] Tai Xiaomei: I focused on the functionality, not on the calculation.
[20:39:47] Tai Xiaomei: After I know it can still do calculation, I can try some complex calculation.
[20:40:20] Tai Xiaomei: But back to my previous question, I am still not sure what kind of calculator it is.
[20:40:42] Tai Xiaomei: Maybe it is not a commom mathematical calculator.
[20:41:21] Tai Xiaomei: So I’d like to know its apperence, its functions, and its influence on you when broken
[20:41:47] Michael Bolton: http://www.vhinkle.com/china/abacus2.jpg
[20:42:18] Michael Bolton: However, it’s really good that you looped back to that question.
[20:42:34] Michael Bolton: Your explanations are also very good.
[20:42:37] Tai Xiaomei: Wow, koo
[20:42:47] Tai Xiaomei: Thanks
[20:43:39] Michael Bolton: I liked that you were able to justify a simple test by pointing out that it’s a result that’s easy for you to calculate yourself.
[20:44:32] Michael Bolton: So, are you finished testing the calculator?
[20:44:33] Tai Xiaomei: After I saw its picture, I will mainly test its outside surface, material, like that.
[20:45:17] Michael Bolton: It’s funny… I’ve been carrying an abacus around for a couple of years now… and it finally IS broken.
[20:45:31] Tai Xiaomei: I will use strength to pull some beans and frames, I will swing it
[20:46:19] Tai Xiaomei: I will do some calculations to see wheter it is still flexible to move the beans
[20:46:28] Tai Xiaomei: How did you test it?
[20:47:03] Michael Bolton: I observed that one of the beads had broken in two and was on the floor.
[20:47:07] Tai Xiaomei: Why did you carry it these years?
[20:47:24] Michael Bolton: Oh, because I give people this exercise in real life, too.
[20:47:40] Michael Bolton: I let them propose dozens of answers, then I show it to them.
[20:47:59] Tai Xiaomei: But do people in western world know this thing very well?
[20:48:13] Michael Bolton: They’ve seen it. They know the idea behind it.
[20:48:29] Tai Xiaomei: Ok, I use it when I was very young
[20:48:34] Michael Bolton: They do understand that it is a calculating device, too.
[20:49:06] Michael Bolton: And they laugh, because they realize they’ve been trapped.
[20:50:24] Tai Xiaomei: What did you test these people by this example
[20:50:35] Michael Bolton: Now, let’s change up; let’s assume that it’s an electronic calculator.
[20:50:36] Tai Xiaomei: How do they ask questions?
[20:50:45] Tai Xiaomei: Ok
[20:51:01] Tai Xiaomei: It is small?
[20:51:19] Michael Bolton: Small?
[20:51:27] Tai Xiaomei: in size
[20:52:12] Tai Xiaomei: it is a just common used eletronic calculator
[20:52:36] Tai Xiaomei: What kind of operations can I do?
[20:52:53] Tai Xiaomei: Does it have keys on it?
[20:53:00] Michael Bolton: Yes, it does. :)
[20:53:29] Michael Bolton: It has add, subtract, multiply, divide, memory store, add, and recall.
[20:53:49] Tai Xiaomei: Is the screen normal by look? Can it show numbers?
[20:54:20] Michael Bolton: Yes, it shows typical segmented LCD digits.
[20:54:49] Tai Xiaomei: Normally what do you do with this calculator?
[20:55:15] Tai Xiaomei: What do you care about most with this calculator?
[20:55:43] Michael Bolton: Well, I use it to balance my chequebook.
[20:56:24] Tai Xiaomei: First I’d like to test its power on/off function.
[20:56:46] Tai Xiaomei: Second, I ‘d like to test each key with some simple calculations.
[20:57:44] Tai Xiaomei: Third, I’d like to test some complex calculations with some of your previous operations for the purpose of checking balance.
[20:58:34] Tai Xiaomei: If everything is fine, I think it still can work for me. I stopped.
[20:58:57] Michael Bolton: Why the complex calculations?
[20:59:09] Michael Bolton: What do you consider a complex calculation?
[20:59:14] Tai Xiaomei: Maybe some day lator, I found it doesn’t function well, I will probably thought of this dropped event.
[21:00:05] Tai Xiaomei: Oh, it is relatively speaking. Just like your balance checking operation, which I think surely more complex than 8 plus 10
[21:00:13] Michael Bolton: I dropped it on my bed, you know. Not on the floor.
[21:00:40] Tai Xiaomei: Ok, that’s the question I didn’t ask you this time.
[21:00:56] Tai Xiaomei: Let me continue asking some more information.
[21:01:15] Tai Xiaomei: Is it seriously dropped, do you think?
[21:01:17] Michael Bolton: But you DID ask it the first time. That was very good.
[21:02:15] Tai Xiaomei: If this drop doesn’t matter to you at all, I just take a look at it, the test is done.
[21:03:06] Tai Xiaomei: Is there water on your bed? Haha..
[21:03:20] Michael Bolton: Good question!
[21:03:51] Michael Bolton: Again, I like the fact that you’re checking your assumptions carefully.
[21:05:05] Tai Xiaomei: Thanks. This is just like what James said in that session “crime scene approach”
[21:05:58] Tai Xiaomei: Someone would immediately plunge into the acutal testing, without knowing much about the mission
[21:06:03] Michael Bolton: Yes.
[21:06:19] Michael Bolton: Now, you saw him do the calculator exercise, didn’t you?
[21:06:24] Tai Xiaomei: no
[21:06:28] Michael Bolton: No?
[21:06:30] Michael Bolton: Hmmm.
[21:06:40] Michael Bolton: Didn’t he do that exercise in the Critical Thinking class?
[21:06:54] Tai Xiaomei: Ah, yes, I remembered a bit.
[21:07:13] Tai Xiaomei: But I had thought it was you talked about the calculator.
[21:07:25] Tai Xiaomei: Mabye I am wrong.
[21:08:02] Michael Bolton: It might have been me too!
[21:08:22] Tai Xiaomei: Yes, I guess it was in your RST class
[21:08:43] Michael Bolton: What does the calculator exercise mean when you relate it to the kind of testing you do every day?
[21:08:58] Tai Xiaomei: Ok, let me think
[21:09:24] Tai Xiaomei: First, you should know the test mission, the purpose of your testing
[21:09:57] Tai Xiaomei: and this includes who will be your client
[21:10:13] Tai Xiaomei: What does the clent care about most
[21:10:59] Tai Xiaomei: Second, it tells us the way we can approach a program
[21:11:36] Tai Xiaomei: You can just by giving some data starting your testing process and finding some bugs in it, but you may have no clear idea about the map
[21:12:21] Tai Xiaomei: So this is a way, your can approach it very gentlely, not broking too much at a time
[21:12:53] Tai Xiaomei: During the whole process, you do your best not confused, you are control your testing to some extent.
[21:13:12] Tai Xiaomei: Third, it tells us we should learn asking the right questions
[21:13:38] Tai Xiaomei: in a heuristic way
[21:14:11] Tai Xiaomei: So far so much
[21:14:16] Michael Bolton: Okay.
[21:14:18] Michael Bolton: Good.
[21:14:51] Michael Bolton: One thing I’ve learned from the exercise is that you can find important testing lessons even in very simple examples.
[21:16:09] Michael Bolton: For me, the big deal in the calculator exercise is that people do tend to rush in and start punching keys. That can be a good start in real life, but it’s important to recognize the difference between thought experiments and real life!
[21:16:31] Tai Xiaomei: Yes
[21:17:03] Tai Xiaomei: This is surely a kind of exploratory testing.
[21:17:09] Michael Bolton: It absolutely is, yes.
[21:17:20] Tai Xiaomei: What do you think ET is most suitable for
[21:17:32] Tai Xiaomei: I mean what kind of situations
[21:18:41] Tai Xiaomei: I remembered in an article by James. It says ET is most used when you know little about SUT, or you want to have some surprising result.
[21:18:59] Michael Bolton: Well, I think we’ve moved on from there.
[21:19:32] Michael Bolton: In fact, we’ve been looking at the nature of testing. Anything where you seek new information has to be exploratory.
[21:19:45] Tai Xiaomei: You mean ET started from there?
[21:19:57] Michael Bolton: ET starts with little kids.
[21:20:04] Michael Bolton: ET starts with curiosity.
[21:20:34] Michael Bolton: ET starts with a discovery, and asking, “Whoa! I wonder why that happened!”
[21:21:10] Tai Xiaomei: I mean the conception ET by Cam and James? Did they first use ET in these two situations?
[21:21:51] Michael Bolton: The limitation in the article you’re talking about is that it take the point of view that ET is /something you DO/. I think James would now agree that ET is /a kind of way you think and behave/.
[21:23:05] Tai Xiaomei: Oh. I agree with this too. Then can we say ET is a skill?
[21:23:28] Michael Bolton: I think skilled ET encompasses many skills.
[21:23:45] Michael Bolton: Can you name some of them?
[21:24:04] Tai Xiaomei: Exploratory thinking is an essential skill of testers?
[21:24:17] Tai Xiaomei: Let me try\
[21:24:26] Michael Bolton: Go ahead.
[21:24:48] Tai Xiaomei: Critical thinking ability
[21:24:58] Tai Xiaomei: Lateral thinking ability
[21:25:22] Tai Xiaomei: Observe carefully
[21:25:56] Tai Xiaomei: focused and defocused thinking
[21:26:03] Michael Bolton: VERY good.
[21:26:08] Michael Bolton: Let’s have some more.
[21:26:38] Tai Xiaomei: Logical thinking
[21:26:43] Tai Xiaomei: System thinking
[21:27:04] Tai Xiaomei: Control of yourself
[21:27:26] Tai Xiaomei: Agile
[21:28:08] Tai Xiaomei: Not confused by complex situations
[21:28:37] Tai Xiaomei: Good understandability or learning abiliyu
[21:28:43] Michael Bolton: Okay.
[21:29:01] Michael Bolton: System thinking–what’s that? Can you explain that to me?
[21:29:09] Tai Xiaomei: Let me try
[21:30:31] Tai Xiaomei: System thinking let you deal with complex system. You are not fraid of it. You konw it is composed by small things. You know it can be logically and systematically decomposed into simple ones.
[21:30:49] Tai Xiaomei: You know the relatinsiop within the whole system
[21:31:14] Tai Xiaomei: You do not focus on one aspect only
[21:31:27] Michael Bolton: What is a system?
[21:32:08] Tai Xiaomei: To simplify, to me it is anything I can test.
[21:32:24] Tai Xiaomei: It can be big, can be small
[21:33:16] Michael Bolton: Hmmm.
[21:34:32] Tai Xiaomei: By giving an example, you know the story of blind men touching an elephant
[21:34:55] Tai Xiaomei: Each person can only see one part of the elephant, that is not system thinking.
[21:35:17] Michael Bolton: What is a system, though?
[21:36:19] Tai Xiaomei: Some parts altogether finished one thing. Is it ok?
[21:36:26] Michael Bolton: Heheh.
[21:37:00] Michael Bolton: That is the first sentence you’ve used so far that seems VERY Chinese to me. (Your English is excellent, by the way.)
[21:37:40] Tai Xiaomei: Haha, I don’t know how to express, I havn’t studied this conception before
[21:37:44] Michael Bolton: But, “some parts altogether finished one thing” gets pretty close to it, anyway.
[21:38:12 | Edited 21:38:15] Michael Bolton: Here’s what James uses: “a system is /a set of things in meaningful relationship to each other/.”
[21:38:30] Tai Xiaomei: Yes, very close.
[21:38:32] Michael Bolton: Now, there are a few interesting things that I see there.
[21:39:14] Michael Bolton: One is the “meaningful” bit. How do we figure out whether the relationships are meaningful?
[21:40:00] Tai Xiaomei: Yes
[21:40:33] Tai Xiaomei: I guess one thing it means logical
[21:41:07] Tai Xiaomei: you can always find a logicl relationship between two things in a system
[21:41:55] Michael Bolton: Logical?
[21:42:33] Tai Xiaomei: This let me think of Bender Requirements Based Testing methods.
[21:43:06] Tai Xiaomei: You can always draw a cause-effect graph for any system
[21:43:59] Tai Xiaomei: If non-logical, can it be meaningful?
[21:44:25] Michael Bolton: What about two people in love?
[21:44:39] Tai Xiaomei: Is this a system
[21:44:50] Michael Bolton: What about religion? That’s meaningful to many people, but at a certain point, it’s not logical.
[21:45:02] Michael Bolton: Two people in love IS a system, I’d say. Wouldn’t you?
[21:45:30] Michael Bolton: There are parts (two people), and a whole (“two people in love”). Right?
[21:45:31] Tai Xiaomei: How would you describe this system
[21:45:52] Michael Bolton: I just did!
[21:45:53] Tai Xiaomei: Ok, then I can draw the CEG
[21:46:07] Michael Bolton: Be careful there.
[21:46:14] Michael Bolton: You can draw A CEG.
[21:46:26] Tai Xiaomei: A loves B AND B loves A.
[21:46:31] Michael Bolton: I can’t say whether it’s THE CEG.
[21:46:55] Tai Xiaomei: CEG shows your the logical relationship
[21:47:03] Michael Bolton: Where’s the logic part?
[21:47:09] Tai Xiaomei: AND
[21:47:35] Michael Bolton: Two apples AND three cars. Is that a system?
[21:47:44] Michael Bolton: You need more than AND for logic.
[21:48:22] Tai Xiaomei: This is not a system.
[21:48:34] Tai Xiaomei: You have to tell me their relationship
[21:48:56] Tai Xiaomei: two apples , three cars , are nodes.
[21:49:06] Tai Xiaomei: What about their states?
[21:49:13] Tai Xiaomei: Two apples what?
[21:49:18] Tai Xiaomei: Three cars what?
[21:49:45] Michael Bolton: Sure. And person A is a node, and person B is a node. That’s why I’m disputing your claim that there’s a logical relationship between A and B.
[21:50:28] Tai Xiaomei: A is a node. “A loves B” is A’s state.
[21:51:35] Michael Bolton: Okay, there’s an A with a state, and there’s a relationship to B. But where’s the /logical/ relationship? Where’s the logic here?
[21:51:57] Tai Xiaomei: When A is in a certain state, AND B is in a certain state, the fact is ture, i.e. A and B are in love.
[21:52:39] Tai Xiaomei: There are some logical relationship, like AND, OR, NOR, NAND, etc
[21:53:07] Tai Xiaomei: AND is one of the states
[21:53:23] Michael Bolton: Yes, but logic doesn’t just come from the connectives. (AND isn’t a state, by the way.)
[21:53:40] Michael Bolton: Logic is about linking premises and conclusions.
[21:53:55] Tai Xiaomei: Yes, AND isn’t a state, but a kind of relationship.
[21:53:59] Michael Bolton: Yes.
[21:54:24] Michael Bolton: Can you phrase ideas about that system in a logical form? Hint: use IF and THEN.
[21:54:57] Tai Xiaomei: The presmises here are: A loves B, B loves A; The conclusion is “A and B are in love.” The logic is AND
[21:55:09] Tai Xiaomei: oK
[21:55:30] Tai Xiaomei: If A loves B and B loves A, then A and B are in love.
[21:55:41] Michael Bolton: Yes.
[21:58:50] Michael Bolton: Or, more precisely about the system, “IF our system of two people in love is that two people love each other, AND A loves B AND B loves A, THEN we can say that A and B comprise the two parts of a system of two people in love.”
[21:59:56] Michael Bolton: Now, that’s a little convoluted. BUT what if you didn’t care about the love part? What if you were an alien that didn’t understand love? Could A and B still be in meaningful relationship to each other?
[22:00:59] Tai Xiaomei: Then what did you care about? Find a relationship first.
[22:02:09] Tai Xiaomei: That is the process you are finding the relationship. Logic doesn’t appear by itself. It is we, who want to understand the system, have to find out.
[22:02:42] Michael Bolton: That’s exactly right, in my view. And it’s very important.
[22:03:01] Michael Bolton: It means that YOU might see a system where I don’t see one. It means that I might see a system where YOU don’t see one.
[22:03:38] Michael Bolton: And even if we both see something we call “the same system”, we might see very different relationships.
[22:03:51] Tai Xiaomei: Yes
[22:03:52] Michael Bolton: The point is that meaningfulness comes from the observer, not from the system itself.
[22:04:04] Michael Bolton: Okay, I have to run.
[22:04:16] Michael Bolton: There’s a good session for today, though. I’d say so, at least!
[22:04:24] Tai Xiaomei: Thank you so much
[22:04:35] Michael Bolton: You’re welcome.
[22:04:53] Tai Xiaomei: Bye. See you later
[22:05:04] Michael Bolton: bye