读书笔记

上一篇 / 下一篇  2014-02-03 20:06:28

读《how we test at micrsoft》后的摘抄:
Chapter4
1.Pair testing
One novel and successful approach to exploratory testing used at Microsoft is the practice of pair testing.One tester sits at the keyboard and exercises the feature or application while the other tester stands behind or sits next to the first tester and helps to guide the testing. Both testers are performing exploratory testing, but while one concentrates on driving the functionality, one is thinking about the application from a high level. The testers switch roles at regular intervals.

Chapter5
1.Exploratory testing (ET) is a commonly used approach that primarily focuses on behavioral testing, and it is effective for gaining familiarity with new software features.ET is quite useful during the initial evaluation of software and helps the tester get a quick sense about the software. ET is also valuable in providing a quick, high-level overview of the operational capabilities and the general usability of software. Exploratory testing can be sufficient for small software projects, or software with limited distribution, or software with a limited shelf life.

But ET doesn't scale well for large-scale complex projects or mission-critical software. It is generally not the best approach for sustained engineering necessary for the long-term maintenance of software releases.

2. BIOS clocks on PC/AT computers were initialized to start on January 1, 1970, at 00:00:00. Because BIOS clock uses a 32-bit integer to measure tick counts to track time. This means that on January 19, 2038, at 03:14:07 the BIOS clock tick count will be at the maximum limit or boundary of a 32-bit integer value. So, at exactly 03:14:08 on January 19, 2038, the BIOS will reset the computer time to 00:00:00 with a date of December 13, 1901(FRI).

3.pair-wise combinatorial test能提高测试覆盖率和测试效率  http://www.pairwise.org/
PICT(Pairwise Independent Combinatorial Testing ) tool

Chapter7
白盒
1.Halstead metrics are an entirely different complexity metric based on the following four measurements of syntax elements in a program:
• Number of unique operators (n1)
• Number of unique operands (n2)
• Total occurrences of operators (N1)
• Total occurrences of operands (N2)
These measurements are used to derive a set of complexity metrics. For example, a measure of code length is determined by adding N1 and N2. Halstead metrics also can calculate a Difficulty metric with the following formula: (n1 / 2) * (N2 / n2).

2.In object-oriented programming, fan-in and fan-out metrics are a measurement of how many classes call into a specific class and how many classes are called from a specific class.

3.If you are not measuring complexity in any part of your code, start by measuring it in your most critical functionality or features.

Chapter8
1.Model-based testing(MBT) tool :
1)Spec Explorer for Microsoft Visual Studio 2008
2)Common Language Runtime (CLR) for language and an engine [model quickly on a small scale]

2. Modeling Tips:
1)Start with small models of simple features.Large models are difficult to maintain.
2)Good models include verification at every step that confirms that the current state conforms to the expected state.


Chapter9
1.Bug bar有助于提高代码质量和效率,避免后续重复发生错误,节省重新阅读理解代码的时间。
The goal of implementing a bug cap is to fix bugs as close as possible to the point when they were created. And the bugs need to be found as close to the point of creation as possible.

2.It is important to keep in mind that test cases do not define all testing activities. The entire team can focus on using the feature or application with the intent of finding bugs that might be missed by test cases,  which are common on every team at Microsoft.

Chapter10 Test Automation
1.Most successful automation projects I have witnessed have occurred on teams where the test team was involved from the beginning of the project.

Chapter11
1.Performance testing: http://www.codeplex.com/PerfTesting/ and http://msdn.microsoft.com/en-us/library/bb924375.aspx

2. Accessibility testing : Enable programmatic access through Active Accessibility or the .NET UIAutomation class  to UI elements and text.

3.Security testing:
1)Threat Modeling during program design.;
2)Fuzz testing is a technique used to determine how a program reacts to invalid input data.

Chapter12
1. Test teams at Microsoft have the same need for daily builds as product teams. Source code for automated tests and test tools are also built daily, typically as part of the same process used to build the product code.(自注释:所以说,类似的规模化自动测试还是需要有专门的团队去维护)

2.minimize the number and impact of build errors:
1) rolling build: The easiest way is with a simple Windows command script. (cmd) file. Scripting tools such as Sed, Awk, and Perl are also commonly used.
2)check-in system: benificial for larger projects.

3. automatic static analysis:
1)PREfast
2)Code Analysis :FxCop  http://blogs.msdn.com/fxcop

Chapter14 Testing Software Plus Services
1.Fully automated, data-driven deployments are the foundation that unblocks all other testing, and they must be the top priority.

2.Fiddler http://www.telerik.com/fiddler (Performance &security testing for Services)
3.Visual Round Trip Analyzer  (Performance Test Metrics for Services)

4.Compressibility: analyzes the degree to which any file, whether XML, HTML, image, cascading style. sheets (CSS), or JavaScript. (JS), can be compressed. A lot of JavaScript. is posted with white space and comments. These won't affect how the script. runs, but they affect file size and thus page load times. 【VRTA3 】is an ideal tool to use to analyze compressibility.

Chapter15
1. CodeBox is an internally shared application with a look and feel similar
to CodePlex(http://www.codeplex.com/)


"When quality is declared to be everyone's responsibility, no one is truly designated to be responsible for it, and quality issues fade into the chaos of the crisis du jour."  "when management truly commits to a quality culture, everyone will, indeed, be responsible for quality."
 

TAG:

 

评分:0

我来说两句

Open Toolbar