13.5.2 correct errors
JELLY: after so many versions of Microsoft products are constantly improved, we should solve all the problems. Is it "better?
A Chao: that is not necessarily the case. In the well-known spreadsheet software EXCEL, there is a bug: The date computing function of Excel considers 1900 to be a leap year, which is wrong, however, it does not correct this error.
Everyone: Really? Why is it difficult to change it?
A Chao: The story is like this. At that time, the market leader of such spreadsheet software was Lotus 1-2-3. Its date computing function has a bug that regards 1900 as a leap year. This type of software internally saves the date as an integer such as "Number of days from to the current date. Excel, as a latecomer, must support the data file format of Lotus 1-2-3 so that the format files generated by other software can be correctly processed. As a result, this bug continues. Every version has been reported but has not been corrected. We can try the following in Excel:
Enter "= Date (, 2, 28)" In any cell and define the format of the cell as a number. You can see that the value is 59. It indicates that 1900/2/28 is the 59th day after the start of 1900/1/1.
Enter "= Date (, 2, 29)", you can see 60! This is a date that does not exist!
Enter "= Date (, 3, 1)" and the value is 61. In fact, this should be 60. All dates starting from this day are incorrect.
JELLY: You can still seize the opportunity to make a leap. In a specific version, you can change it completely, not just a number.
A Chao: there are no technical problems to solve this problem. However, the following problems may occur in reality:
1) date data of almost all existing files should be reduced by one day, and all Excel formulas dependent on date should also be checked and modified. This is difficult in real life.
2) the Excel date problem is solved, but other software still has this bug. Using data files in different software may cause a headache in compatibility.
In short, this problem persists. Some people want to change it. You need to check the Options settings of Excel, and you will find that there is such a setting-use the date calculation system (use 1904 date System) starting from January 1, 1904) (13-9), but the average user is okay?
Figure 13-9 Options settings of Excel
Computer programs have encountered many bugs in dealing with the leap year problem. Please refer to the related blog:
Http://www.cnblogs.com/xinz/archive/2011/11/29/2267022.html
13.5.3 officer intrusion is more dangerous than cold
Han Zhao-Hou, the former, was drunk and went to bed, and the champion saw the cold of the King. Therefore, he went to bed and said, "Who is wearing clothes ?" Left and right sides: "crown ." The king is also responsible for the sin of the clothing and crown. His sin code clothing, thought it was also lost; his sin code crown, thought the more his job also. It is not evil or cold, think that the invasion of the officer is better than cold.
-- Han Feizi, second handle, and seventh
Article 9: I recently created a number of bugs. Today, I found that their statuses have all changed to closed, and all the bugs I Was Trying To test have changed to closed status. Do I still use tests?
A: Did other testers test it for you?
Article 9: No. From the record, it seems that jelly has modified these defects and changed the status to resolved. After two days, he changed the status to closed, but I have not run the verification test yet.
They found the jelly.
JELLY: I watched my bug was always not closed, and I was in a hurry. Yesterday I carefully verified all the bugs. After I was sure there was no problem, close them.
Article 9: Are your leaders counting the number of bugs? Haha.
A Chao: different roles have mutual cooperation and mutual control in the development process and cannot be replaced. When performing a verification test, testers need to perform multi-platform and multi-platform tests. The workload may be far beyond the capabilities of developers. Therefore, testers must verify and handle bugs that have been fixed.
The intrusion is far from cold-we do not encourage developers to take the initiative to help test, we want to avoid cross-border behaviors that lead to unclear responsibilities.
JELLY: Han Zhao Hou is so awesome! I am very careful to help other colleagues, without credit and hard work. How can he say "better than cold "? In this way, my heart is cold.
A Chao: Jelly. Aren't you taking notes of "performing their jobs"? Have a good look.
Article 9: Jelly. Thank you for your help. If you need to verify some problems urgently, please let me know and I will try to finish it as soon as possible.
13.5.7 test experience exchange
After testing for a period of time, we found that Xiaofei reported a large number of bugs, 9 followed by Xiaoyan. A Chao asked the testers to share their experiences.
Xiao Fei: My principle is: "If the problem looks like a bug, I will report this bug ". I 'd rather report one thousand more than just give up one. This principle also leads to many of my bugs being classified as "as design ".
A Chao: "As design" is not a bad thing, at least we have made it clear what design is. In this way, there will be a basis.
Xiaoyan: I found a problem. I first ran to the developer to discuss the situation. Or you may want to find the root cause of the problem. Sometimes you may want to fix the problem and report the bug again.
Article 9: Xiaoyan's practice seems to have crossed the scope of developers' responsibilities. Our responsibility is to find enough bugs for developers to do something.
A Chao: You can select a typical user (persona), and then go through the functions of the entire system based on the ideas of typical people and the perspective of the problem. If you are dissatisfied with the typical users, you can consider a bug. I sometimes know the design idea of this function, but there is no need to think too much about it for others during testing. I need to treat myself as a user rather than a designer.
Xiao Fei: During the test, you should try it from all angles. Some random data may also be used to make troubles. Black box and white box can all be exchanged. Just like a user who knows nothing about the software is using the software.
A Chao: Xiaofei's experience, described in formal language, is to ensure the diversity of testing methods.
Article 9: When I got a test task, I thought: What is the most likely cause of this function? Then we will focus on firepower and test it in areas prone to problems. For example, if the title length of a product is set to 32 characters, I will test 31, 32, and 33 characters to see if any problem occurs under such boundary conditions.
Xiao Fei: During the test, I still need to draw a line between them. When I see a problem with the product title field, I will check whether other fields have similar problems.
A Chao: yes, we should focus on testing from product risks. In addition, we need to determine the testing strategy based on the current product features, so we do not have to insist on uniformity. In other words, it is very important.
Xiao Fei: Sometimes I want to change my responsibilities with other functions, which is a bit fresh. Unexpectedly, Xiaoyan refused my exchange request, saying that it was an invasion of Government because it was not approved by the leaders. I had to exchange nine items.
A Chao: the key to my approval for such an exchange is to find a bug. We are all employees of the same category. When we have informed and arranged in advance, there is no problem of "Invasion of the government.
Xiao Fei: I found that with the increase of bugs, I have to verify the previous bugs and discover new bugs. The workload is getting bigger and bigger. How do you do this?
Article 9: I generally write some stable tests as automatic tests, which reduces the stress of my manual tests.
13.5.8 legendary inflection point
Xiao Fei: I heard that there was such an inflection point in software projects -- before that, the number of new bugs was larger than the number of bugs solved. After that, the number of bugs solved is greater than the number of new bugs. In this way, the curve of the bug moves down. Have we reached the turning point of our mountain migration project?
A Chao: I have heard of it, but it is only in large and complex projects that testers and developers use a system to manage bugs. We cannot wait for the inflection point to arrive. For small projects such as ours, the inflection point must occur several times before the release date. If the number of bugs continues to rise, it cannot be guaranteed that the curve will fall down like a cliff in the future. We have to take the initiative to let the inflection point happen, for example, to postpone some bugs, cut down some features, and gradually increase the benchmark of "small strong that must be fixed", and so on.
13.5.9 exercise-learn and use test tools on multiple platforms
In this chapter, we have introduced many vsts software testing tools. Please use some testing tools on other platforms and write a blog to introduce how to use them in your project.