First, open source history of the most successful eight open source software
As far as open source itself is concerned, it is a success story. It is not only loved by individuals, but also favored by many well-known companies. Although there are countless open source and open source products, which one is the most successful? The definition of "success" here is: Wide application + well known. Among the many successful open-source products, there are only a handful of leaders, and other products can only be a candle.
Linux
Reason for listing: Linux + GNU = gnu/linux. From Linus Torvalds announced in 1991 that he has built a new OS kernel on Minix and has been around for nearly 20 years now. During this time, most of the network servers are Linux systems.
Bsd
Reason for listing: For a long time, FreeBSD, NetBSD and OpenBSD are among the 3 most widely known operating systems on the server. In the 90 's, all three were born out of Berkeley's UNIX system, so the three groups ranked on the list. In addition, Apple's Mac OS was born out of FreeBSD.
Mysql
Reason for listing: MySQL is the most widely used database system in the world. The number of MySQL installations worldwide has reached 11 million in 2009. It is the M in the lamp architecture (Linux,apache, MySQL, PHP). Many well-known websites and products use MySQL, such as: D/wikipedia, Facebook, Google and WordPress. (both Google and Facebook have modified MySQL to meet their needs.) Details are recommended at the end of this article).
Apache
Reason for listing: Apache HTTP Server since its inception in 1996, it is the world's most widely used Web server, its market share far more than the second IIS. In 2009, more than 100 million websites worldwide use Apache.
According to Netcraft2010 August 11 data statistics show that the world currently has 119,664,128 sites using Apache, the current Apache market share of 56.06%,iis 25.03%.
Figure 1:web Server Market share
Firefox
Reason for listing: So far, it is Mozilla's most successful product. November 9, 2004, FireFox 1.0 was unveiled. Currently Firefox cannot shake IE's bully/master status, but it is the preferred browser for many technicians. History of Firefox Browser Evolution: September 23, 2002, Phoenix, May 17, 2003 to firebird-> February 9, 2004 changed to Firefox.
According to Netmarket Share July 2010 Latest statistics, theFirefox market share of 22.91%,ie is 60.74%.
Figure 2: Browser market share
Wordpress
List reason: From 2004 Wordpress as a branch of B2 blog software, it began to dominate the blog platform market. According to Pingdom's 2009 survey, 27% of the top 100 blogs in the world use WordPress. If you add wordpress.com and Automattic's WordPress service blog, the data goes up to 32%.
In August 2010, Wordpress 3.0 downloaded more than 12.5 million.
BIND
Reason for listing: Bind (Berkeley Internet Name Domain server) is the most commonly used DNS server software on the Internet today, and the DNS server that uses bind as the server software accounts for approximately 90% of all DNS servers. The first version of BIND dates back to the 1980s, which was developed by 4 graduate students at the University of Berkeley, and it was released alongside the 4.3 BSD. It can be said that it is a global standard DNS server.
Friends who are not in touch with Linux should seldom hear about bind. Because most servers in the world have OS Linux/unix, and these Linux/unix are bound to bind, bind has a very high share.
Ubuntu
List of reasons: October 20, 2004, the first edition ofUbuntu published. So far, it has been the most widely circulated branch of Linux, especially its excellent desktop system. Given the great success of Ubuntu in recent years, it deserves to be deserved.
Ii. Technologies, methodologies, tools and systems for the evaluation of Open source software
Open source Development ( core + plug-in ) is a trend, he gives people more selectivity, but also drive the user to develop plug-in enthusiasm, thereby improving the stickiness of the software and user experience. Plug-in developers themselves are software users, they know more about user needs, They use the process to find that some functions, or for the use of certain operations to facilitate the development of these plug-ins are often really appropriate, practical, and this is more than the author of a person developed by the function of more suitable for ordinary users.
Some people often refer to open source software to think of free, I think free is not the real core of open source software. I think the real meaning of open source software is that the collective development , the user determines the direction of the software, as well as the users ' freedom. An open source software to make, everyone to improve it, So it's more and more suitable for everyone. In line with the popular habit, I can adjust the software according to my own habits, make it more suitable for myself, I think this kind of software development form is better than the traditional author developed alone.
For open source, what is the original intention of open source software? This software can solve a problem in one aspect, improve productivity, open source to liberate community engineers pain point. I think this is true of most open source software. Since open source, whether can stand the question , we know good project is able to withstand the question. Since open source can accept the community patch and pull request, if you contribute 100% of the code, others ask questions on the kick out of the group, are made by themselves, then why open source it.
There is the user , how to choose a good open source software, listen to others, superstition the name of the big factory, I think it is also self- test Benchmark, this process since can tell the truth, but also can learn a lot of knowledge. Don't let our knowledge be heard from others. Look at the source code, mainly see TestCase, if there is no testcase, are in the Main method System.out open source software, testing is not fully covered, you dare to use in the production environment?
Software Testing is an important part of software development process, it is the activity process of verifying and confirming software products (including phased products) throughout the software development life cycle, and the aim is to find out the problems in software products as soon as possible--with user's demand, Pre-defined inconsistencies.
The purpose of software testing is to ensure the final quality of software products, and to control the quality of software products in the process of software development. In general, software testing should be conducted by an independent product evaluation center, in strict accordance with the software testing process, the development of test plans , test programs, test specifications, implementation of testing, test records analysis, and according to the regression test to write test reports. The test is to prove that the program is wrong, and that the program does not have errors.
Software Testing Methods
Http://wenku.baidu.com/link?url=6RsSpUw-ZS3yUDk8fMyi47P_ Ls3por-d14of5qxnxcgzulcmwqzoung4czifyzi2voepvxfwqdz4dc6ls-pll0p5_06ubonqmcmjvc9uqis
multi-tasking test refers to a non- Idle state, when the test object is in the working state, there are new events, such as mobile phone calls when there is a text message, mobile phone calls in, this situation is "multitasking."
Critical Testing tested for events, tasks just occurring, ending, and storage systems at critical boundary states Eg: The capacity of the system user is 200, so when the number reaches 201.
Interrupt Test The software is terminated by other tasks or unexpected events in the work, and the corresponding test is the interruption test. Interrupt test some situations such as interruption, new task interruption, and unexpected interruption
Performance tests often verify that the performance of the software is repeated in both normal and system conditions to meet performance metrics. or perform the same task the new version is no slower than the old version. Generally also check the system memory capacity when running the program will not appear memory leak. For example, the validator saves a huge file with a new version that is no slower than the old version.
Software testing Tools
Pressure test Tool Apachebench
http://blog.csdn.net/iloveolerp/article/details/5212844
AB---Apache comes with a stress test tool. is a gadget that comes with Apache, designed for Httpserver benchmark testing, which can simulate multiple concurrent requests at the same time.
Automated test tools QTP
is an automated testing tool. The purpose of using QTP is to use it to perform repetitive manual tests, primarily for regression testing and for testing new versions of the same software . So you have to think about how to test your application before you test it, such as which features to test, how to do it, input data, and expected output data.
Performance Test Tool LoadRunner
LoadRunner is a load test tool that predicts the behavior and performance of the system. LoadRunner is able to test the entire enterprise architecture by identifying and locating problems in a way that simulates the concurrent load and real-time performance monitoring of tens of thousands of users. Enterprises use LoadRunner to minimize test time, optimize performance , and accelerate the release cycle of application systems. The LoadRunner can be used for automated load testing of various architectures to predict system behavior and evaluate system performance .
Defect management Tool QC
Http://wenku.baidu.com/link?url= Wnbpkzj1jqr5s6uwma-2oluzr9qeupbyhpgdnhgrqxcrxzjqxedmyqbbdjmibq79zgbdcnxdvvvm5sitah1jp-evezmzxx3n8mjmt-qldfq
The software provides a unified, repeatable process for gathering requirements, planning and scheduling tests, analyzing results, and managing defects and issues. Organizations can use the software to digitize specific quality processes and processes in a large application lifecycle. The software also supports high levels of communication and coordination among it teams .
Unit Test Tool JUnit
JUnit is a regression testing Framework (Regressiontesting framework) written by Erich Gamma and Kent Beck. JUnit testing is a programmer's test, the so-called white-box test , because the programmer knows how the software being tested (how) accomplishes the function and what it does. JUnit is a set of frameworks that inherit the TestCase class and can be automatically tested with JUnit.
Software Error Management tool Bugzilla
Bugzilla is an open source defect tracker (bug-tracking system) that manages the entire lifecycle of defects in software development (new), repair (resolve), shutdown (close), and so on.
Bugzilla is a free, open source bug(bug or bug) tracking system provided by Mozilla to help you manage your software development and build a complete bug tracking system.
Functional Test Tool WinRunner
By automatically recording, detecting, and replaying user application actions, WinRunner is able to effectively help testers test different releases of complex enterprise applications, improve the productivity and quality of testers, and ensure that cross-platform, complex, enterprise-wide applications fail-free release and long-term stable operation.
Enterprise-class applications may include Web applications, ERP systems,CRM Systems , and more. These systems are tested before they are released to ensure that all functions work correctly without any errors. It is a problem for every company to effectively test the application systems that are constantly upgrading and updating in different environments.
If time or resources are limited, the problem will be more difficult. Manual testing is too much work, and additional time is needed to train new testers and so on. To ensure that complex enterprise applications run reliably in different environments, you need an easy-to-use test tool to automate your application 's functional testing.
Open source software assessment methods and tools