Involving testing field, all of us heard or touched lots of testing terms at Microsoft project more or less, such as : Black Box Test, White Box Test, Unit Test, Structural Test, Load Test, Ad hoc Test, Usability Test…. and so on. But few people can differentiate these and classify these and apply these at a complete degree. I just summarized these terms from a good reference, and hope to share these to you. Now here we go:
1. Classify these by test design method:
a. Black Box (During the test design, viewing the system as a “black box” and don’t know anything about the internal structure or process flow), also called Behavioral Test Design
b. Write Box (During the test design, the designer can “see” the internal structure and using these info to guide test case and test data)
c. Gray Box (Combined Black Box and Write Box test, in general using Black Box method to design test at first, then using Write Box method to perfect)
2. Classify these by test purpose:
a. Functional Test (Includes Unit Test, Integration Test, Scenario Test, System Test, Alpha/Beta Test)
b. Non-functional Test (Includes Stress/Load Test, Performance Test, Accessibility Test, Localization/Globalization Test, Compatibility Test, Configuration Test, Usability Test, Security Test)
3. Classify these by test phase and role
a. Smoke Test (The base verification test, cannot process the next step if the test is failed; sometimes choose the crucial test case to test the system)
b. Build Verification Test (One method of Smoke Test, run the case suite which can verify the system base function after the build is done, two outcomes after BVT: Self-test (pass); Self-hosed(fail))
c. Acceptance Test (The first test activity after the test team received the Self-test build, this is judged from test team; differentiate it with User Acceptance Test which is a test activity after system test and often done by customer or partner)
d. Regression Test (To ensure that the build has not regressed in anyway as a result of changes to the build and/or environment, often running passed tests again to ensure that they still pass)
e. Ad hoc Test (Also called Exploratory Test, a specific and undefined and short-lived activity, often used if the tester wants to try more scenarios with intuition, when the tester is testing the module according to test plan)
f. Bug Bash (Also called Bug hunt, all guys includes developers, tester, PM, other product members aim to find bugs using individual creativity and new test method, often only 1-3 days after each milestone)
g. Buddy Test (Each developer find a tester as buddy and build a Private Build and tester test the build and report bug to dev directly, often done after Unit Test and BVT)
4. Assign test activities through whole development cycle
上面说的主要是微软的整个新的版本的一些流程,主要是V模型,但微软也有很多的项目是采用XP。自己也接触了很多微软的Tester,感触最大的是微软的Tester的code能力,debug的能力,code review的能力都很强;而且我曾经问过微软总部的一个Tester什么是微软测试的最大创新,他说就是:测试就是开发,把测试和开发的界限打破,使测试和开发非常接近,而且双方几乎可以互换角色