Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Thursday, August 16, 2012

The Golden Age For Software Testing In China

The China's Computer Market 2008 Forecast Report has been released recently. It showed that in the first three quarters of 2007, the software industry in China has registered sales revenue of $50 billion, up 23.6% on pcp, accounting for 10.95% of the entire electronics and information industry' sales revenue. As the software market matures, people have higher and higher expectations over software features, quality and reliability. In October 2005, Ministry of Labour and Social Security formally listed computer software product tester (software test engineer) as one of the new professions. In only two years' time, software testing has become a powerful dark horse in the software industry.

Steadily rising status
"In the early 1990s, software industry was still at an infant stage in China. Most software projects were very simple, the whole code writing and development process could be handled by one person. As industry competition intensified, software companies were gradually evolving from one-man-band small shops to software engineering co-operations. Although division of labour could improve software development efficiency and functional varieties, it also lead to increasing number of bugs between modules and deteriorating qualities," said Mr Wang Yazhi from CONCEPT Information Technology Ltd, a major software development company in Beijing. Quality impairment would not only damage a software firm's competitiveness, it could also lead to massive economic loss for software users or even personal injuries, such as medical accidents.

As China's software enterprises continue to prosper, the importance of software testing has also been increasingly appreciated by software companies. Many large and medium software companies have begun recruiting professional staff to take care of software testing. Ms Ran Chunjuan, a former testing manager in Wuhan Superidea Technology Ltd, said that "in Superidea, the ratio between software testers and developers is 1:4. Although this is still well behind the international best practice of 1:1, it is still a great improvement from 1:8 a few years ago."

Industry experience appreciated
In addition to lifting the number of software testing staff, many companies are demanding higher staff quality as well, especially in areas of professional testing experience and thinking ability. "A tester without professional training can still work out 3-5 testing methods, but not necessarily detect bugs. Even if bugs are discovered, he might not be able to express the problems in proper languages, which could increase developers' workload. Those well-trained testers can work out 10-20 testing methods, such as boundary value analysis, equivalence classes and cause-effect diagrams, to maximally discover any bugs. Professional testers can also articulate testing documents in standardised languages, thus improving the recovery rates of software problems," said Mr Liu Fei, a former testing manager in Qualcomm. Many companies in China have now established independent testing departments, working along with R&D departments.

As companies' software testing knowledge deepens, work scope for testing staff is expanding from system testing phase to unit testing and integration testing phases. "This requires software testers to have in-depth knowledge about the businesses a product is involved in," said a testing manager from Founder Group, one of China's largest software companies, "for example, when we test software for banking applications, we have to first understand the specific users in the bank. Some operators only use keyboards in the office, but if we don't know about this and design it as a mouse-friendly control, banks will not buy, it no matter how well the software works." Therefore it could be forecast that the status for software testers who possess technical experience and customer demand knowledge will further enhance.

A sellers' market
"The software testing industry is at a growth stage," said Prof Zheng Renjie, a software testing expert. The current hot market for software testers is mainly due to the rapid development in software industry itself, "companies are demanding better quality software, which has in turn stimulated demand for software testers. But talent supply and talent training are lagging behind the dramatic changes in market demand, hence a telent shortage."

At present, software testing talent shortfall in China has exceeded 200,000, and it is rising to the 300,000 threshold. According to statistics, total software tester supply from nationwide IT training institutions is less than 10,000 per year, thus it can be foreseen that the testing talent shortage could last another 5-10 years. At the same time, talent shortage has given leverage to tester remunerations. According to a remuneration report from 51Job.com in China, starting salary for software testing engineers ranges from $400 - 650 per month, and it could increase to $1200 - 1650 for engineers with 2 to 3 years' experience, higher than the remuneration for many developers with similar service years. As the talent supply shortage continues into 2008, software testers' remuneration is looking for more gains.

Education and training
The shortage in software testers in China has not only lifted the remuneration levels, not also created a boom for educational and training institutions. Even two years ago, several prominent IT professional training institutions had realised the importance of software testing positions, and organized a few domestic and international software testing experts to co-develop training courses, which have successfully cultivated lots of software testing talents in the past two years. Currently in China, apart from overseas recruitment and company internal training, external professional training is also an important channel for producing software testers, amounted to 12% of total talent supply. As companies are paying more attention to labour costs control, more professional talents are expected to come from external training institutions.

While professional IT training is booming, tertiary education institutions also began to test the water. In August 2007, the first software testing education forum was held in Shanghai by various government bureaus and universities, explicitly marking "software testing" a core area in software engineering courses in China. But Dr Chen Honggang, who had been involved in development and testing of projects such as Windows95, Internet Explorer 4.0/5.0 and SQL Server 2000, commented that although universities can ease some pressures on software testing talent educations, based on overseas experience, professional training will still be the main channel for supplying software testing talents.

For more information on Chinese businesses, please visit www.chinabizintel.com
http://www.ChinaBizIntel.com

Article Source: http://EzineArticles.com/?expert=Face_Zhang
 
For more reading on topic :
http://softwaretesting.snappages.com/

http://softwaretestingservicessadasd.webnode.com/

http://softwaretestingservice.soup.io/

http://softwaretestingservice.yolasite.com/

http://softwaretestingservice.jimdo.com/

http://softwaretesting.publr.com/

http://testingservices.posterous.com/

http://testingservices.insanejournal.com/

http://testingservices.jigsy.com/




Monday, July 9, 2012

What you need to know about Software architecture

At the end of the 60s, the programmers came out with a philosophy that is related to developing software. The concept stated that if the data structures are correct and stable and by applying effort, the development of the program will go very smoothly without any problems. Back in the 60s is was only an intuition and a philosophical concept but in the 1970s it was transformed from just a concept into a theory. The transformation of this concept to a real theory included the grasping and understanding of several points.

These points included the structure of the software architecture and the specifications. These specifications were expressed through math as algebraic axioms or abstract models. The understanding of language problems was also vital. It included user-defined types, scope and modules. Another major point that had to be understood is the protection of the information. This includes all kinds of information and not only the ones that are a part of the specifications. This is very essential as the protection of this information is vital to the success of any software development.

The target of this transformation was to enhance the quality of the software architecture design of several parts of the software. This included the enhancing of abstract data types in order to surpass the level of the programming language or statements. In order to achieve that, the understanding of the above mentioned points were accompanied by integrating specifications, representations, functional interfaces and algorithms in uniform methods. In order for the architecture design to succeed, the programming language had to be used but the abstract data type paradigm gave some pieces of the system the ability to be developed using a vocabulary of data types that is not included in the programming language’s vocabulary.

The same ways programmers recognized the usage of strong and correct data structure back in the 60s, now experienced software developers recognize strong system organizations. Although many organizations and architecture software designers depend on abstract data types but this is not the only available method to organize a software system. This is due to the fact that other designers and developers have developed various organizations over the course of time. These organizations have become a solid part of the vocabulary of the language that software designers use. So as a software developer you have the choice to either choose these new organizations or the usual abstract data types.

Wednesday, May 2, 2012

Essential of Software testing

Usually time allocated for software testing is less compare to other areas of software development. There are situations where actual testing is performed more quicker than actual allocated time for testing. Because, there are software developing companies getting pressure from other stakeholders like marketing team, management team and etc. The reason for the pressure may be the marketing department and management team may have allocated lots of money in advertising and promotion activities, as a result they always need to launch the product in time, even they prefer sooner is better. That obviously put less time on testing.

Usually, taking the software to end user is the goal of marketing and management teams. But it has to be ensured that that end users will not find any serious bugs on the software. That kind of considerations make stable positions for software in the market. Bugs in reporting format or etc usually has less impact on software product and end-users, anyway which should be fixed in upcoming releases of the product. Bugs like loosing data or crashing the program may cause serious impact on end users' data as well as on stability of the market for software. When software testing is planned, critical areas where system may crash or loose data, should be given high priority in testing.

Software testing includes quality assurance, validations and performance testing and etc. When planning a testing, specific areas should be tested, for an example if the performance testing is planned, there should not be more focus to be given to quality rather than performance. Such mis-leading things may lead to have hidden bugs in the software.

Nowadays software testing become very important in-order to deliver quality products which leads more need of software testing professionals and there are certification are introduced like ISEM, ISTQB and etc for software testing professionals. It is good news. However, it has to be noted that, software testing can ensure quality but it cannot ensure BUG-FREE.