Slashdot Mirror


Inside The Development of Windows NT: Testing

The Qube writes "As a followup to the in-depth story posted back in February regarding the history and the development of Windows NT, part 3 of the series of articles is now online. It discusses the software testing procedures inside Microsoft."

5 of 243 comments (clear)

  1. Development costs by BWJones · · Score: 3, Interesting

    O.K., can anyone here tell me why Microsoft is spending an order of magnatude more $$'s to develop Windows than Apple is spending on developing OS X? It can't be testing because the Apple products appear so much more refined.

    --
    Visit Jonesblog and say hello.
  2. Testing by ayf6 · · Score: 5, Interesting

    Testing is a vital part of programming. Tests should always be written PRIOR to the programming. This allows you to think of problems before they arise. In some sense it seems as if MS is avoiding this by having someone "come over to fix the problem within 20 minutes." HHowever, given the diverse environments there does not seem to be a direct solution for them. The EEC seems to be a huge step forward to finding where code breaks for a given customer but it doesnt solve any security holes (which should have been addressed pre-coding when you come up w/ tests for your software). As for all the joking about MS programmers in this forum so far, i find it kinda rediculous that people do that. People that laugh at the products MS produces really do have to look hard at how THEY would manage and TEST 50 MILLION lines of code. With 50 million lines of code you're looking at virtually an infinate number of tests to run, which is obviously impossible to do. Thus you either have to roll out a product that hasn't been 100% tested because of its size or keep testing and never make money. Since its all about the money you obviously roll out the product and try to patch it as fast as you can when somone does find a bug that got by Q&A and the testers. You need to find a balance between testing a product completely and releasing a product to make money. Its a fine line and MS has done a fairly good job given the size of their code base and the pressure on them from the comsumer to get new products out in a timely way.

  3. Comparing with the UNIX model by mnmn · · Score: 4, Interesting

    Having a monolithic kernel + garbage, monolithic reigstery, no way to control the revisions of DLLs, worse than RPM package management etc is what NT is all about. The UNIX model is making small highly useable tools that you understand perfectly, and making them work together. In win32, if you cant work with an API, you make a new API, and we now have several generations of APIs to deal with just to access the screen, resources, widgets etc in windows. You have a standard API that has worked for over a decade for most UNIXen, and the ones that do change their API purge the last version and replace it with a similar system.... think sysv vs BSD, Solaris sysctls vs Linux sysctls.

    Thats why the win32 system spirals into complexity, no matter how much money is pumped into development or testing. Of course one of the best things about windows is also one of the worst, that vendors developing their own drivers for their hardware might make incompatible or bad drivers, or ones that step on the feet of other installed drivers in the system. In the Linux kernel, all the drivers are present before the testers and are considered while any major change takes place.. such as the VM or switching to 64-bit cpu. This is true for most other UNIXen where drivers are sent to the unix vendor for testing as well, but thats not as efficient as the Linux model.

    And then the number of eyeballs testing Linux and FreeBSD is a phenomenon Microsoft cant copy. The free software community does not work for a paycheck, but theres more sincerity towards the software than there would be for a proprietary software. Free Software can be a matter of ego and gives a sense of competition with Microsoft. You cant buy that. This I believe is the biggest reason why colossal manhours are poured into free software development, while some of these developers work the rest of their days as data entry or office clerks, even mcdonalds.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:Comparing with the UNIX model by Anonymous Coward · · Score: 1, Interesting

      And then the number of eyeballs testing Linux and FreeBSD is a phenomenon Microsoft cant copy. ...Could you please explain why sendmail had over a decade of exploitable security bugs?

      How many eyeballs are really *testing* Linux and FreeBSD, and how many are just using it because it is free?

      I've looked at the Xwindows tool in Redhat for configuring BIND, I test software for a living, so in 30 minutes I noticed about 70 problems and it is a very small and simple interface. However, I have no idea what the program is called, who wrote it, or how to report the problems, and really, nobody is paying me to spend eight hours to document and report the problems, I don't really care about that tool, it is so broken that it isn't very usable anyway, and while I use my linux box daily, I don't really configure it much, so I don't think I'll ever report these bugs. ...hmmm, I guess some other eye will need to report those bugs...

      (I'm not trying to troll here, but honestly I get PAID to find bugs in software, I'm not going to spend my personal time donating work to Linux, even if it is "cool" or good for my karma, I just have better things to do with my time. With many eyeballs, *someone* might know about every bug, but they aren't necessarily going to tell the developer about the bugs.)

  4. Re:Let's see- by KewlPC · · Score: 2, Interesting

    I didn't say that Linux was perfect. Hell, the kernel that ships with RedHat 8 (2.4.18-7 I think) would freeze during heavy IDE activity unless I disabled DMA (by passing the kernel the ide=nodma parameter), which is why I upgraded it to 2.4.21-pre5-ac2.

    Obviously all OSes are going to have bugs. The question is, how severe are those bugs? How frequent do they manifest themselves? KDE hasn't crashed on me in a very long time, and Linux hasn't crashed since I upgraded to 2.4.21-pre5-ac2 (and prior to "upgrading" to RedHat 8 in March, back when I ran RH 7.2 I think the OS crashed maybe once).

    My experiences running Win2k on the same system haven't been nearly as good.