Talk about project management and software testing process

xiaoxiao2021-03-06  36

1. Software Testing is the organization of the company's organization. 1.1 The organizational structure of the R & D department is introduced as an example. The test department belongs to the direct management of the R & D department vice president, see the organizational structure of the company's research and development department. For organizations engaged in software development, the type of work includes at least project management, product design, coding, testing, quality assurance and software configuration management, and other personnel, such as document compilation personnel and artist / system hardware management. According to the functional needs, the matrix management of the department and the project can be performed in a semi-independent manner, ie, the staff should be responsible for the project manager / team leader, but also to the department manager / director, the work assessment is completed by both parties, and the standard organization should include technology. Development department / group (mainly coding and designers), product development department / group (product demand and project management), test department / group, configuration management department / group (because configuration managers are basically equipped with 20 technicians A configuration manager, so the general department is small, or just a configuration management group), software quality affordable unit / group, other partial / group (such as system / document / art, etc.). In the organization of Huawager, the R & D Department is the core department product of the company's software research and development, II, II, and Application R & D department is mainly responsible: cooperation with the software product department or the content product department to assist in completing the feasibility and reasonable reasonable content of the content product. Sex analysis; platform, gateway, application product research and development project projects, project and program review; Summary design of R & D projects, detailed design work; Code of R & D projects, unit testing; organization of relevant departments of R & D products; assist relevant departments Do a good job in the pre-sales technical support of the product; assist the relevant departments to install and debug the software; according to the relevant departments, the product's after-sales service is guaranteed. The Test Department is affiliated with the R & D department. The main responsibility is as follows: Compatible with the content product department and software product department to complete software requirements analysis discussion, and formulate "project test programs" according to demand instructions, write "test case", establish test environment; responsible for completing the R & D department The software product development process developed by each development group and the new software before investing in the operation and modification of the upgrade software module test and system testing; establish, promotion and maintenance implementation software version management system CVS and VSS; use and maintain software defect management system Bugzilla Responsible for software problem resolution process tracking record; responsible for promoting implementation of software development document standardization work, managing research and development of documents; responsible for cooperating with software operations and maintenance sectors, etc. For new business software or modifying upgrade business software, and provides online test report Responsible for monitoring the implementation of the software development process, and is responsible for proposing software development process improvement recommendations to improve software product quality. 1.2 Software Products R & D Decomposition 1) Huayou Company began in October 2003, the independent assessment of the project team, and the development departments are the technical director lead, and then subdivided the project managers. Planning and implementation, dividing the project specific development members. For the test department, the annual test department task plan / assessment table, such as the SMS business sales index completion: target 1: 99 million (bonus extraction ratio is 0.01%); target 2: 168 million (bonus extraction ratio is 0.02%); goal 3: 232 million (bonus extraction ratio is 0.03%) gives financial goals and business operations. At the weekly development manager work meeting, the reporting task progressed, and proposes the recent test demand, the test department manager is responsible for developing test planning, testing use, test implementations, and arrange test engineers with corresponding developers exchange completion test implementation.

The test department manager is responsible for developing process management and human resources, test hardware and software resource allocation, requires regular exchange of regular exchanges with research and development, grasping or recently possible test tasks, all other external interfaces are completed by the test department manager, with others The project team and product department coordinate project progress. 2) Work report relationship is: Development department: Team Member-> Team leader-> R & D director - Vice President of R & D Department -> President. Testing department: test engineer -> Test Group Manager -> Test Department Manager / Director -> Vice President of R & D Department - President. 3) Project member structure: The company's usual development project group is 6 to 8 developers, up to 10 people. After three transformation of the organizational structure and project group after Huawager company, all business departments are very fine, the task is clear, and each step of software development has special sectors, special person responsible, from the most basic developers Responsible for leading the overall director and vice president, layer management, and communication channels. In software testing, due to limited test resources, it is first embodied in the company's organizational structure, and concentrates on the testing department to face the lack and management of the company-level management department, there is no quality management department, departmental quality management The work test department has done. From a cost perspective, the test department is small, the total number of testers is not more than 10, and almost every tester receives the test task requirements of 10 developers. From the actual situation, first clarify the relative independent organization of the test department and software development department to ensure the work of the test personnel is not controlled by the development team, and realize the objective and notary of the test. Huawager, to effectively protect product quality, first, we must work hard in the reasonable organizational structure and test process, which is like a cover high building, and the foundation is not prison, the structure and processes are unreasonable. Aspect, then work hard is also futile. From the perspective of practice, the test department is first established a year ago, the test engineer belonging to the development department returned to the independent testing department management, secondly established a standard test process, exchanged with the development department, requiring a test demand week, and then according to the present Some resources have developed a weekly test plan, and the recruitment plan will be put forward to the human resources department. As the results of the test work continue to be recognized by the development department and superior leadership, the implementation of the standardization of software development process is promoted, and the good results of test practice Establishing the status and role of the test department in the company. After a year of struggle testing sectors, from the initial two people to now ten, software configuration management and defect tracking systems have been voluntarily used and received by 60% of developers. Summary I have experienced more than a year in Huased, deeply understanding that the development of software projects in China is difficult, engaged in software testing and quality assurance, requires solid technical skills, and continuously improve test project management capabilities, find Work breakthrough. There is no difficulty in the world, I am afraid that I have a heart, but as long as you work to dedicate your software testing, it is possible to play a world. (2. Configuration Management System is the "eyes" of the project manager, which is the premise of the effective implementation of software testing.

In many support activities of the software quality system, the configuration management system is in the center position of supported activities. It organically combines other support activities to form an overall, mutual promotion, interaction, and effectively guarantee the implementation of the quality system. Establishing a company configuration management system is easy to get support from the company's leadership, almost no one against it. More importantly, the work of the test staff has been established after the management system has a system guarantee. The "mineral resources" of the test work has a clear position and can actively actively carry out test work.

2.1 Main Problems Existing in Project Management When the Huayou Company test department has just been established last year, the use of configuration management system CVS is used as a breakthrough, and it is also established a defect tracking system Bugzilla to improve the management level of the test process. As a test person in charge, I first analyze the status quo of Several Software Projects of Huayou Company in development management. There is a problem 1. Several core projects still rely over a few individual people, and there is no atmosphere to work together. There are no scientific software configuration management processes; technology only pay attention to system and database, development tools, and ignore configuration The choice of management tools leads to even if some projects have a procedure for configuration management, it is also stranded due to the fault. The above causes have generally existed some problems during the development process: investigating that the ratio of the changes in Huawager R & D for the R & D reach, almost a newly joined employee or resignant, a new member is familiar with the best way is By configuring the management system reading project documentation, even reading the peer code, achieving quick learning, and is aimed together. A resignator can use the configuration management system to reserve some of time work, minimize the loss caused by project development.

There is a problem 2. The development management is loose. Leadership Learn about the completion of the work, pay attention to verbal exchange, ignoring written documents. Some departmental supervisors cannot know the progress of the project. The project manager does not know the specific work of each developer, and the progress of the project is very random, but "left" can "right". When the "left", the "deadline" issued by the leader, it seems that everything has been successfully completed, everyone is Hua, the traffic is completed, anyway, the leadership is the interface, as for the inside, what is left, then said. The work at the time of construction has become an endless maintenance that cannot be reported and cannot be clarified. When the "right" is returned, the project work is endless. For our software engineering, the total feature is "right" after "left". In the face of the leadership, "left" is expressed, and "right" in front of the user. There is a tester to learn English in work hours, after a month, seeing her still, I as a project leader for criticism, this employee does not think that she is wrong, she argues that the company takes flexible working hours, The assessment employee is the reason for the assignment task. At the same time, I am a malicious revenge for her criticism, she gives the leaders to report new managers how to understand the company's business, take the management method that is not suitable for the company, etc., because leaders can't understand the truth, make my work in a paragraph Time is very difficult until the past six months, this employee resigned to learn leaders to understand what happened.

There is a problem. Third, there is not enough communication between projects. Each developer is respectively polite, and each project manager is like a "landlord", the code written is not only different, but also coding and designing. The human resources and hardware resources of each project group become "private property", and their personnel are temporarily idle, let him engage in so-called new technologies, and do not consider the status quo of your neighboring projects. Originally, the incorrect project group is inevitable, the project group, which has been early, has accumulated similar problems, and is also unwilling to share it to other project groups. Develop a lot of repetitions, leaving a lot of difficult-to-maintain code. A typical case is that there is a SMS project D in the two years of R & D support to the development of this developer Y is very good, but three months ago, the developer y was resigned because the treatment problem and the company's leadership negotiations failed. The project D is still running, but recently mobile company regulatory modifications, system upgrades, need to modify the program, no one can see the timely updated document, although there is a bunch of code base, but later programmers can't analyze the program structure. The company's leaders come to the developer Y to assist, because there is no documentation, Y is busy with the new company's work and cannot solve the modification.

There is a problem fourth, documentation and procedures are severely detached. Software products are the valuable wealth of the company. The reuse rate of code is quite high. How to build a knowledge base, use a good knowledge base to develop products to the company's high quality and efficient development products. But a name slogan of developers is: "Call me, but don't call me to see someone else." Of course, developers' work attitude should be transformed, but there is an important reason to objectively: the procedures left by the former people have both documentation (even if they have left documents, their procedures are also seriously out of fence), develop style It is not uniform, just like a bunch of garbage, developers to go to the garbage, from this perspective, the demand for developers is reasonable. There is a problem 5. The test work is irregular. Still staying at the bottom level of "Little Girl Test", in the traditional development method, the test work is only a subjective wish of people. It is not possible to make specific test requirements. In addition, the development of the developer is ugly, the test work is often taken. After walking, the test results are unable to assess and quantify, of course, will not be able to guide the future development work.

There is a problem slip, although the project construction time is not long, but the software version update period is too short, and the online operation system is modified almost every day, and the developer must be in person or remote login operation. The whole country has a little difference, These differences were recorded in the head of several backbone characters. Due to the characteristics of application software, different construction points have different requirements, developers to maintain multiple different copies, even the same problem, but because of different places, different people solve, their approach is different. The maintenanceability of the program is getting worse. Over time, finally, I have been unclear. The mutual coverage of the code has occurred, and this bitter water is still unable to complain, because he is afraid of others to joke, even someone asking, have to think about it, it can be described as a hard work.

2.2 Establish a configuration management system, standardize the project management process, and save the cost of project fees while establishing a knowledge base

For the above questions, use our own experience in the company in Beijing Precom, Putian Runhui and other companies, establish all of the configuration management system CVS and CVS is CURRENT VERSION CONTROL. CVS is a GNU package. Developed by INTERSOLV, it clear The storage of the source file and the user's workspace is independently developed, and it is advantageous to develop in parallel. This tool belongs to Open Source, and CVS can be easily obtained on the intenet. Its source code is in ftp: //202.113. 29.4 / Pub1 / Unix / CVS Its instructions Documents are ftp://202.113.29.4/doc/cvs. No one can download. His latest version is 2..10.8. No need to spend money, soon, focusing on using and promoting. Combined with the project manager to jointly develop the corresponding configuration management strategy, it has achieved good results.

2.2.1. Save the cost

(1) Shorten the development cycle

Using CVS to manage and track program resources, establish a company code knowledge base, save each process version during development, which greatly improves the reuse rate of code, but also to maintain multiple versions and new versions. Development, Prevent the system crash and share the code to maximize. At the same time, project managers can view project development logs through the Version system, and testers can test software according to development logs and different versions. Engineers can get different runs from version control systems, and can be installed in Web Server or in UNIX The command line on the operating system is allowed to access the latest version of the external construction personnel, and there is no need to develop people to visit. With the CVS system, it can greatly improve the development efficiency, avoid code coverage, insufficient communication, and unordered disorderly, if the original knowledge base is used, it can improve work efficiency and shorten the development cycle.

(2) After reducing construction costs, using CVS for software configuration management, establish development management specifications, hook version management files on the company's internal web server, engineers can enter the internal network from remote access, and obtain the latest version required. The developers do not need the site, the on-site engineers collect feedback through the other system administrator, written to the company's internal development group project manager, the internal discussion of the development group decided whether to modify, and make a written reply. In doing so, you can respond to multiple project points, prevent developers from being assigned to various project points, dispersion power, insufficient personnel, while saving a large number of travel costs. 2.2.2. Concern the establishment of the knowledge base

(1) The code object library software code is the crystallization of the brain force of software developers. It is also a valuable wealth of software companies. The various code objects formed in the long-term development process are like a part of a part, and is a rapid generation system component. A long-term truth is: Once a developer leaves the job, the original code is basically garbage, no one has a question. The reason is that there is no useful subject to each person to manage, expand its scope to the company level, standardize, and explain. The CVS system provides a platform and warehouse to develop management, which is conducive to establishing a company-level code object library. (2) Business and experience library

Through the annotation of CVS, complete development logs and problem collections can be formed, with the entire process of development, and will disappear according to someone's transfer, which is conducive to the company's accumulation of business experience, regardless of version rectification or version upgrade, is important Guiding effect.

2.2.3. Standard Management

(1) Quantitative workload assessment

Among the traditional development management, the workload has always been an unaudited indicator. It is quite large by developers, and the arbitrariness is quite large; the management personnel grasp, the subjectivity is too strong. After using CVS management, the developer will copy the modified file Check in before get off work, which describes the description of the details of the day, which can be used as a measurement indicator of the workload.

(2) Specification test

After using CVS, the test has a real job, and the test staff describes the specific test of every day according to the daily modification details, and has the test personnel to be available, so that the ring loop is deducted, which is greatly reduced. The randomness of its work.

(3) Strengthen coordination and communication

After using CVS, through the VSS document sharing system and bugzilla defect tracking system, the communication between project members has greatly strengthened that there is a problem in time and timelyly, and notify it in time, but there is no additional amount of workload.

3. Performance test is the core of software testing specialization

From Huawager Practice, software testing has aware of product managers, development managers and market managers. Most of them will think that functional testing works very well, product managers are a company's most familiar person. They are the most eager demand for test engineers to help me implement the performance test work of the product. They have heard of performance testing. The biggest failure encountered after our product is invested online is the large number of users' access business is a machine. Or stop the normal service, each fault, almost the income of the company has caused great losses. If the test department can have a set of effective performance testing methods, it establishes the key position in the project development process.

Performance Test plays a very important role in Quality Assurance of Huawager Software, summarizing performance tests into four aspects: WAP wireless application services in mobile phone user-end performance test, Web / WAP application service in client performance test, application Testing and applying to server-side performance testing on network performance. Typically, the four-way effective, reasonable binding can achieve comprehensive analysis and bottleneck predictions for system performance.

3.1 WAP Wireless Application Services in mobile phone user-end performance test

Nowadays, everyone is pursuing fashion, fashion reflects in style, brands and functions. The new year of mobile phone product features, the mobile value-added business function is endless, from the initial SMS, MMS, Ringtones to GPRS, CDMA, K-Java, Brew mobile phone, and the diversity of the functional diversity brings the complexity of mobile phone user-end software system testing. It is well known that Java mobile phone is attractive to provide intelligent, personalized interactive services, such as dynamic generating personalized stock market services, show graphics, animation, real-time road conditions, meteorological report, digital, playing game, etc. The service can be executed directly on the client. In order to provide such a vivid service, the mobile communication system must be able to provide the end user to provide access to the Internet on the wireless device, to store, extract, manage, calculate, check, download software services, and provide content provider Rich sound like multimedia content, forming a major personalized interactive service environment. As a mobile user, the mobile phone can be regarded as a virtual machine, and can access the application on the appropriate device at any time, and enjoy the service. This is indeed a fashion. Currently, the platforms used for different brands are different, and the CPU and operating systems are different. Due to different design, the lack of compatibility between the design, the operating system and binary code are not compatible. When the mobile phone runs requires a large amount of memory, especially with the access to the Internet, mobile phone user requirements can use personalized interactive application software, the application is particularly prominent when the application runs in a virtual run environment. Therefore, it is necessary to establish a standard general run platform to provide a unified interactive application operating environment under the appropriate cost. However, it is difficult to achieve requirements unless the platform is based on a fully standard device. The standard general running platform is a solution to the integrated requirements of the operators, software developers, and end users. The ideal environment must have the following nature: (1), the platform should provide binary compatibility. The executable software is a binary target code, which needs to be established between the processor and the application's target code; (2), the platform must include a microprocessor, or a universal machine code emulator that is separated from the microprocessor machine code; (3) The platform should include an operating system with an application interface API and support consistency graphical user interface GUI. The API is a software function library that performs a typical operational function, such as opening files, reading and writing data, configuring, and managing memory, processing events, display documents, and graphics. In order to make the application software truly portable, there must be public function sets on the device, and the software developers can use consistent API extensions; (4), the platform should not require too much system resources, portability equipment There should be too much cost; (5), the platform should have high efficiency, especially consider the battery powered equipment; (6), because of the application, security is also important factors.

Taking Java mobile phone software test as an example potential test problem and solution

Java has a good portability and many other advantages, but with the mobile phone, the rate and power consumption are still a bottleneck. The new issue brought by Java is that the execution speed is slow, and the power consumption is high. Unlike PC, mobile phone resources are limited, and the rate of CPUs in general popular phones is 26MHz, or 52MHz, with 128M flash memory, 8MB, 16M or 64MB memory, no hard disk, battery power, small size, small space, narrow space. The reason for the system is:

(1) The system must run two sets of software at the same time: Java application and virtual machine JVM; (2) Java software needs to be translated into natural CPU instructions; (3) The Java platform is based on the stack (relative to the register) structure, resulting in more Memory access.

Therefore, how to accelerate the execution of Java is critical. Accelerate processing data and graphics, which is of great significance to the application of Internet and multimedia on your mobile phone. To overcome these problems, improve Java software performance, there are four possible methods:

(1) Improve the microprocessor rate. However, Java software performance and clock frequency are not linear, and microprocessor operation is generally 2-10 times higher than that of memory, and increasing clock frequencies will only increase the waiting cycle. (2) Optimize the JVM software. This may involve programming the zycode translation loop with assembly language, which will cause JRE to become related to the microprocessor category. And conflict with portable; (3) compiled. Compile the software directly to the natural machine language of the microprocessor. But this increases the overhead of memory, and does not save energy consumption. (4) Hardware-based accelerator. This can improve the effectiveness of performance, guarantee energy, and cost. It is considered to be ideal for mobile phone design vendors. General Java acceleration chips have come out this year.

3.2 Analyze Web / WAP Application Services Tests in Client Performance

Web / WAP Applications The purpose of the client performance test is to examine the performance of the client application, and the entry of the test is the client. It mainly includes concurrent performance testing, large data quantity testing, and speed testing, which is the focus. The process of concurrent performance test is a process of load testing and pressure testing, which gradually increases the load until the system's bottleneck or cannot receive performance points, the system concurrent performance process is determined by integrated transaction execution indicators and resource monitoring metrics. Load testing is determined to determine the performance of the system under various workloads. The target is that the corresponding output item of the system components when the load is gradually increased, such as by volume, response time, CPU load, memory usage, etc. The performance of the system. The load test is an analysis software application and a support architecture that simulates the use of a real environment, thereby determining the performance process capable of receiving. Stress Testing is a test of the maximum service level of the system by determining the bottleneck of a system or the performance point that cannot be received. The purpose of concurrent performance test is mainly reflected in three aspects: based on real business, choose representative, critical business operation design test cases to evaluate the current performance of the system; when expanding the functionality or new application When the program will be deployed, the load test helps determine if the system can also handle the desired user load to predict the future performance of the system; to confirm the performance bottleneck and optimize Adjust the application to find bottleneck problems.

Our company organizes its strength to entrust a third-party software HG company to develop a set of application Avatar image systems in the HAWA website, Avatar image has an important location in the website business, and many of the business on the website are carried around Avatar. Can this system can withstand a large number of concurrent users to access? Be the key to this website, but also the key to the completion of this two companies. Such problems are most common in using online transaction processing (OLTP) mode database applications, web browsing, and video on-demand systems. This problem resolves to use the scientific software testing tools and advanced test tools.

Web software test example Description: Harbite Avatar image system software. After three months of trial operation, the Avatar image system has been successfully completed, and the software function defect is also modified. However, performance issues are increasingly focusing on project managers, and our testing department implements client performance tests to perform 100, 500, 1000 and other concurrent users with more familiar pressure test tool Web Stress. Each test is mainly based on the URL: http: //avatar.hawa.cn/index.jsp, in real time, in real time, in real time, in real time, in real time. In accordance with HG requirements, the main pressure of the Avatar system is simulated as much as possible to simulate the performance pressure of the Avatar system; and exclude all URLs not obtained from the web server (ie, avatar.hawa.cn). Only pages such as / myX.jsp are tested. After three results, although the program is optimized, the running server is configured for multiple modifications, and there is still a number of users to reach 1000, the quality of service is declining, and the page time exceeds the normal display time. Here there is the last test result and the top a few times. However, this test is to test multiple client tests. According to the principle, it should be higher than the previous stand-alone test accuracy, but the result is longer than the single-machine test, when it reaches 1000, its page The longest response time is more than 80 (while standing for more than 59 seconds)! The third time I found that the ISP network 100MB bandwidth actually only 20MB, and it is also one of the key factors affecting user services.

This performance problem has been improved by HG's developers for nearly three months, and 1000 users of the / index.jsp page concurrent response time for about 10 seconds. For the Web Stress Performance Test Tools HG, HG, also identified the objectiveness of its test results, because the software performance issues postponed 2,000 yuan for 2,000 yuan, more importantly, software performance issues are well resolved And the relationship with HG is very good. Another bigger harvest is a good image in the Web product department. The demand for each new software product is proposed, and the product is ongoing to request the test department to participate and implement strict testing. How to simulate the actual situation? Find several computers and the same number of operators to operate at the same time, then take the stoppage to record the reaction time? Such a hand workshop test method is unreal, and cannot capture the internal change of the program, which requires the auxiliary of the pressure test tool.

The basic strategy of testing is the automatic load test, and the application is tested by simultaneously performing business simultaneously on a virtual user on one or several PCs, and the application is tested, and each transaction processing is recorded. Piece server peak data, database status, etc. Through repeatable, real tests can thorough metric the scalability and performance of the application, determine the problem and optimize system performance. In advance, the system's endurance is known in advance, providing a powerful basis for the configuration of the end user to plan the entire operating environment.

Preparatory work test environment before concurrent performance test: The configuration test environment is an important phase of the test implementation, and the test environment will seriously affect the authenticity and correctness of the test results. The test environment includes a hardware environment and software environment, hardware environment refers to the necessary servers, clients, network connecting devices, and printer / scanners such as auxiliary hardware devices; software environment refers to operating systems, databases And other applications consisting of applications. A fully prepared test environment has three advantages: a stable, repeatable test environment that guarantees the correct test results; guarantee the technical needs of the test implementation; guarantees the correct, repeatable, and easy to understand. Test Tools: Mature concurrent performance test tools have a lot of test tools, the basis for the main test and performance ratio. The famous concurrent performance test tool has Qaload, Loadrunner, Benchmark Factory, WebStress, and Ab-Apache, etc. These test tools are automated load test tools. Through repetitive, real tests, the scalability and performance of the application can be thoroughly measured, can automatically perform test tasks throughout the development lifecycle, automatically perform test tasks throughout the development life cycle, can simulate There are hundreds of users to perform critical businesses to complete the test of the application. Test data: In the initial test environment, you need to enter some appropriate test data, the purpose is to identify the data status and verify the test case used to test, and debug the test case before the official test begins, and the wrong test start. drop to lowest. When testing to a critical process link, it is necessary to make a backup of data state. Manufacturing initial data means that the appropriate data is stored, and it is required to recover it, and the initial data provides a baseline to assess the results of the test execution. When testing is officially executed, you also need to prepare business test data, such as testing concurrent query services, then requires considerable amount of data in the corresponding database and table, and the type of data should be able to overwrite all services.

Simulated real environment tests, some software, especially commercial software facing the public, often need to invest in real-world performance during testing. If the scan speed of the test anti-virus software is tested, the proportion of different types of files arranged on the hard disk should be as close to the real environment, so that the data tested has practical significance. The key to concurrent performance test is a flexible application of monitoring objects during the test. For example, the current three-layer structure is widely used, and the concurrency performance test of middleware is mentioned on the agenda, many systems use domestic Middleware, select Java Script monitoring objects, hand-written scripts, can achieve test purposes. The concurrent performance test of the automated load test tool is used. Basic follow-up testing processes are: test demand and test content, test case development, test environment preparation, test script recording, writing and debugging, scripting assignment, playback configuration and loading strategy, test Perform tracking, results analysis and positioning problems, test reports and test assessments. 3.3 Application of performance testing on network

The test focused on performance on the network is to use mature advanced automation technology to make network application performance monitoring, network application performance analysis and network prediction. Network application performance analysis network application performance analysis is to accurately show how the network bandwidth, delay, load, and TCP ports affect how the user's response time is affected. Using network application performance analysis tools, such as Application Expert, you can find bottlenecks for applications, we can know the application behavior that occurs at each stage during the network to apply thread-level analysis applications. You can solve a variety of questions: Does the client have an unnecessary request for the database server? When the server accepted a query from the client, the application server spent an unacceptable time to contact the Database Server? The response time predicting the application before putting equipment; uses Application Expert to adjust the performance of the application in WAN, Application Expert enables you to quickly and easily simulate application performance, according to the response time of end users in different network configuration environments, users can use themselves Conditions determines the network environment of the application. Network application performance monitoring After system trial, you need to know what happened on the network in time; what is running, how to run; how much PC is accessing LAN or WAN; which applications lead to system bottlenecks or resources competition, then Network application performance monitoring and network resource management is critical to the normal stability of the system. Using the network application performance monitoring tool, you can achieve the effect of halving, in this respect, the tool we can provide is Network Vantage. It is popular that it is mainly used to analyze the performance of critical applications, the root of positioning issues is in the client, server, and applications or networks. In most cases, users are concerned about what applications occupy a large amount of bandwidth, which users have the largest network traffic, which can also meet the requirements. Network prediction takes into account the expansion of the future development, predicting changes in network traffic, and the changes in network structures are important to user systems. Provision of network performance prediction data is performed in a timely manner based on planning data. We use the network prediction analysis capacity planning tool Predictor to: set the service level, complete daily network capacity planning, offline test network, network failure and capacity limit analysis, complete daily fault diagnosis, predict network equipment migration and network equipment upgrade to the entire network Impact. The network topology is obtained from the network management software, and traffic information is acquired from the existing traffic monitoring software (if such software can be manually generated), the basic structure of the existing network can be obtained. Based on the basic structure, reports and charts can be generated according to changes in the network structure, and the network traffic changes, how these changes affect network performance. Predictor provides the following information: Based on the forecast results to help users in time to upgrade the network, avoid system performance decline due to critical devices; which network device needs to be upgraded, which can reduce network latency, avoid network bottleneck; according to forecasting The necessary network upgrades.

3.4 Applying Performance on Server First Analysis of the type of server, the server's division can be done according to most of them. First, depending on the entire architecture, it can be divided into IA servers and RISC servers; second, according to the difference in hardware configuration can be divided into workgroup level, department-level, enterprise level; third, according to specific installation applications can be divided into web servers, files Server, FTP server, E-mail server, database server, etc.; four is divided into Windows camps according to the operating system, UNIX camp. These four classifications are associated, but in which the application classification is the most clear concept. Because the user always wants to do what it is used when purchasing selection. Intel's recent front-end (for access, etc.), mid-end (for various applications and middleware) and backend (for databases, online analysis, etc.), this is also considered from application. Analysis Server Performance Index is not focused on three indicators: CPU, I / O and web. If you still remember the map forever, you should have any doubt about the important attitude towards the computing unit and the input and output. As for the point of choice of web as a measure of server performance, it can only be said to be the power of the network. The Internet's big line has made us hard to imagine that there is a server island. Engineers tend to achieve their maximum potential by reading and writing, database operations, and HTTP access to the increasing parallel files that are increasing to be tested. Taking web test as an example, measure Web performance generally has the following important indicators: HTTP's transaction per second; sessions per second; current users; throughput (Throughput) ). HTTP TPS is typically also called the number of hits per second; the number of sessions per second is the number of users who arrive at the web server per second; the current number of users is the number of users on the Web site; throughput is sent by the Web site at a specific time. Data traffic bandwidth, it is related to the contents of the server providing services and trading number. The above will be our important technical foundation for the review and review of the test results. 4. Test task for project management development links

When the company has a reasonable organizational structure and develops a confidential plan, it enters the development phase of the product. The following is an example of the first phase of the CYB project that has been completed, analyzing the advantages and disadvantages and testing of the details of the specific project management details of Huayou Company in project management:

Phase I demand in CYB project: Due to the various business (SMS and WAP, SMS and WAP, etc.) different platforms in different operators (China Unicom, China Mobile, China Telecom, etc.) and web portals at www.hawa.cn Provide services, all kinds of business independence, in order to manage user information, business, and billing information, and summarize statistical analysis, and also integrate resources of various business systems, establish a company's business operation support system.

4.1 Development Phase and Project Period

The development phase is more obvious, paying attention to the functions that should be completed at each stage, the work that should be completed in this stage cannot be left next. Clarifying the project manager for the six-year-old programmer, the first phase of the project is 3 months, and the project needs to be completed: 1) Realize the unified management of user information, including: user basic information, the user uses the integration of the business, User's custom / reputation information management 2) Concentration management of various types of business information, including: SMS business, WAP1.2, WAP2.0, Java, ring tones and other services 3) Realize the unified management of billing information 4 ) Provide Customer Service Function 5) Provide Statistical Analysis Function 6) Provide a unified standard interface to connect to various business subsystems and operators. 7) Provide network management, monitoring and other functions.

At this stage, the test manager needs to understand the needs of the project development needs, design documentation, etc., formulate a preliminary test plan, and determine the test development task based on the characteristics of the test task. The actual results indicate the largest two problems in the development stage: pay attention to design, do not pay attention to testing and software quality, the design meeting has opened at least five times, participating in the meeting, has a company with experience in the conference, and the relevant personnel have not been invited to participate, ignore the product Performance requirements, more attention to basic functions; neglecting demand is customer service and operators, self-righteousness, and neglect the difficulty of understanding the difficulties and developers realized by program developers, project group Pay more attention to verbal exchanges and ignore the value of documents. Problem Solution: Please test and quality assurance engineers to participate in the discussion, will propose software implementation of performance requirements; pay attention to the value of document exchange, establish software document template and version control mechanism, each exchange implementation in member understanding and written documentation.

4.2 Software Development Process

Huayou has originally attaches importance to project management, ignores the process, and exaggerates the role of someone else's efforts in the project. After a year of painful practice, it began to discuss the process management. It has launched the company's SW-CMM quality system certification. It is desirable to establish a very specific and systematic software development process. Its process has a high executable, and can Constantly improved during practice. Huaxou's process management improvement begins with all aspects of project research and development, including from the most intention, market planning to the final software version release (Release) is put into business operations, and it is designed to have corresponding processes, basically The test department has been responsible for promoting a software development process capable of achieving regulatory, efficient. CYB project manager D pays attention to verbal communication, ignores document exchange, and lacks awareness of members of the project team; manager D attaches importance to the exchange of leaders, neglects the exchange of developers, and the project implementation of the developers encountered specific problems no one helped solve Reduce the development efficiency. Although the process is correct, the process involves developers' problems also need to pay attention. The key to process management is based on "people".

Under the current organizational framework, after more than a year of work practice, deep understanding of people and processes are two most critical factors that guarantee the success of the project. Project development by people with project implementation of basic qualities can maximize the success of the project to maximize the success of the project. A good process can guarantee that something that is a bit is not too bad, but it cannot be ensured to make a boutique. Software development can be achieved through the process can achieve software development of standardization, pipeline, and industrialized. Save the cost of the process of our department to save the market initiative to complete the cost of our department.

4.3 Stage of project plan

1) Try to do the project plan detailed, thoughtful. The CYB project plan has three months from starting to have three months, and the scheduled completion time is from three months, it is extended to six months until now eight months. Planning has been shameless. Practice has proved unreasonable programs that are not as planned, and unreasonable plans give leadership. The reasonable plan should be to clarify this week's work plan, which gives a near future direction for difficulty or difficult difficulties, and then refine adjustments according to the actual progress.

2) Clearly define the development phase and test phase in the process. The development phase task is not completed, occupying the test phase time, and the test work is reduced. The correct processing method recommends not to reduce the test working time, and the project development completion time is delayed according to actual needs.

3) Each stage lists the activities of this phase and describes the properties of each activity:

Enter conditions, input; verification method; end conditions, output.

4) Each phase has the end of the stage to end the meeting. The previous phase ends (with the development task test in this phase) to enter the next stage. The project manager needs to analyze the completion of each phase of the test task, and the existing problems should be fully exposed to solve it earlier. CYB project manager D takes the practice of newspapers that will not be excellent, and often leaders in the meeting, other project managers often have a problem, possible technical issues, testers and time issues. The actual result of the last laugh is also a successful project. 5) The ideal plan is more specific, and each activity is in the sky. The plan includes the time of quality control activities, the promotion note version control system and the use of the defect tracking system.

Typical cases are the company's research and development of code CYB projects for user information management. At the beginning of the CYB project, the vice president begins, because the testers are not involved, the development manager discusss almost everyone in the design implementation. The project manager D is then responsible for development, and he believes that time, save a lot of necessary documentation. Manager D adopts the practice of newspapers, poor project documentation, excessively emphasized the plan, and neglect the quality of the planned task, most project tests have not completed the development completion, the result will be praised at the top three months. The results of the stage have been achieved, I did an opportunity to test the manager, there was a few words, the president immediately reminded everyone to overcome difficulties, and each group of tasks may need overtime. Results The original plan has completed the project for three months. After half a year, it has been found to realize the commercial use, and the specific completion time is not sure, but now it always emphasizes the special test, and the text file is not, can only ask once again. One communication method implements testing, there is a good tester that is unable to endure, resign, I have to arrange new testers to deal with the task. This CYB project was a buzz of the entire company, although he did not give up, but no business value. R & D costs in the 9 months old have been the clearer. Summary Lessons, project managers attach great importance to planning and testing, and carefully implement the basic guarantee for the effective business value of the project.

4.4 Pay attention to REVIEW

According to software engineering standardization processes, REVIEW and test are generally used as two major means to ensure software quality. The importance of the test has become aware of the project managers, and runs through the whole process of development, and has formed the atmosphere of the project team members to pay attention to the test work. REVIEW is a very simple and effective way to find a valid method that can be found in software in software as soon as possible. The project manager must develop a REVIEW plan according to progress every week. It can be said that any deliverables must be based on the Review of the Technical Director. Baseline . At present, Huayou is building a more detailed and comprehensive, executable REVIEW process, and various payments, a REVIEW CHECKLIST.

We are making up for this workflow defect, proposing: Everything has a plan, and everything will be review. First promote code standardization in the development group, regular employee Code Review work, Code Review is an important part of the work.

4.5 Quality Management and Testing (QA)

The company currently has independent quality management departments, temporarily considering the processes and templates of the testing department test manager as a quality assurance department, supervising and guaranteeing the progress of the project, and collects some of the issues found in the project and the solution to optimize the process. Since the company has an urgent need for test talents, therefore, he has to set up the test talent team. From reality, we cannot think that IBM and Microsoft have strong skills to support quality assurance and testing, our work focuses on software testing. From the implementation test of the starting three people, first test the work of the engineer to discover the project manager and superior leaders and affirm their work results. By comparing the tests of the test personnel and the module that did not implement the test, it is highly due to the high differences in business operations, and the high cost of software repairs is improved, and the level of leadership and project managers will pay attention to the test sector. Gradually expand the number of testers, increase the scale of test team, and improve the benefits of testers become possible. When recruiting testers, the quality is related to the quality, China Lenovo, Huawei and other companies will generally pay attention to the test staff, we need to test this wrong understanding, let excellent people join the test team. At present, there are 2 students in the 10 people who have returned to China, and the rest of them are undergraduate students in computers or related disciplines. Despite the insufficient experience, the quality and professional skills of testers are first-class, a period of time testing team, which has become a crucial department of company business development. To constantly improve the automation of software testing, testing cannot be done by manual labor, more situations are to do with tool software and writing test procedures, and cultivate a comprehensive test profession talent is a heavy work.

4.6 Metric Data

The company recently started the quality management system of CMM. Comparison of data in CMM, the basically all data in the project will be recorded, and finally the collected data is submitted to the quality assurance department for analysis to improve the process. However, the company's project management quantitative work has a certain difficulty, with the performance appraisal of Huayou Company, the test department requires the project manager to pay attention to the data collection in the project, mainly including various REVIEW data, test data, and project team members a day activity data. Wait. The project manager should also maintain a project file. In this project file, it can be said that all outputs, development activities, management activities, etc. in the project development process are included. The test department provides a team development system that can be developed by team project development. It can be said that this project team development system, test manager and project manager can easily understand the development process of this project.

4.7 Teamwork

Team spirit is better than everyone in each part of the body, and work together to complete a move. For the company, the team spirit is every person, and work together. Each of our company's reward activities or our performance assessment is the two most important assessment criteria for personal abilities and team spirit. If a person is very good, he does not have a team spirit, then we would rather choose the latter. The company emphasizes team spirit, spirit, it should be said that its process is essentially required to coordinate and understand between employees. The company does not regularly conduct team management training for managerial personnel, which has greatly improved employees' cooperative spirit and coordination spirit than just entering the company.

4.8 Training

The company has special trainers and training cost plans, and will collect employee training needs and recommendations every half year, and then arrange training activities related to topics. After new employees enter the company, they will have a company process and other training training to ensure employees' understanding and implementation of the process. For specific projects, project managers will propose all training needs in the project plan when developing a project plan, including technical training and other desired training.

4.9 Configuration Management

Before the project is officially carried out, the project manager must formulate a configuration management plan, and specify the configuration administrator to establish a configuration management library, and configure management according to the configuration process. Controlling the changes in the configuration process are also provided, without approved changes requests are absolutely unable. 4.10 record

Record in time, sufficient, accurate. These records include: important emails, meeting minutes, audit records, defect reports, test reports.

1) Advocate all the exchanges of customers and other project groups must be recorded. 2) There is a process of tracking implementation for all activities, such as a status identifier for all REVIEW records and changes requests, identifying its current state, supervising its implementation by tracking its status. 3) There will be a history for all activities, including changes to documents and code. 4) Record is more accurate, more objective. The above is some of the major links involved in the project management, and it is worthwhile to learn from the development of project management planning.

转载请注明原文地址:https://www.9cbs.com/read-72401.html

New Post(0)