<<

View metadata, citation and similar papers at core.ac.uk brought to you by CORE

SCIENCE & TECHNOLOGY TRENDS 2

Technical Trends and Challenges of Testing

TOSHIAKI KUROKAWA MASATO SHINAGAWA Affiliated Fellow

this system was originally planned to be in effect 1 Introduction from October 2007, testing showed that there were numerous problems. Therefore, the operation of Software tests are (herein referred to as software the system was delayed for 3 months, and it started testing) commonly known as “a test to verify to be in use from January 15, 2008. The Tokyo if there is no problem with software”. Software Stock Exchange also had an accident in November testing, in this sense, may seem to be similar to 2005, in which their system failed and all stock tests of various “artifacts (products)” such as ones exchanges were suspended. to check the safety of confectioneries, whether In 2007, there was also an inconvenience with batteries are produced as specified, or whether an the automatic gate system at train stations in and aircraft has any problems concerning its flight. In around the Tokyo metropolis. There have been fact, many problems have been revealed concerning many reports and opinions on this issue.[2-5] For inspections and testing of these products in recent example, a TV program reported that it was caused years. by a comparatively simple error (“+offset” was On the other hand, unlike such tangible products, missing). In this case, the bug was not noticed software would have different types of problems until a certain condition is met. Once this condition because problems in software are hard to see by occurred, it caused errors to all connected users until such problems actually are visualized by automatic gate machines. In addition, as this error a series of defects. In the case of tangible products, affected the entire rail industry of the metropolis you may notice some indication before the serious area, it was reported as a significant social problem problem occurs. In other words, unless the certain with several million people suffered. Such events conditions are tested for the defects, the software is should not happen if some test were conducted to considered and treated to be at normal state, or “no check these specific conditions of this accident. problem”. In a more extreme statement, it can be It was told that only such limited number of tests said that problems attributed to software are caused were conducted for big numbers as 1000, 5000 and by insufficiency of its testing. 10000, so they missed the special case relating to Recent software related problems are largely the buffer which caused failures. caused by lack of testing, and have actually Due to the increasing complexity and brought social problems and financial losses. proliferation of software, the importance of tests is For example, there was a failure with the New increasing. However, the difficulties of testing are Derivation Trading System, which deals with also increasing. There have been various attempts derivative products, of Tokyo Stock Exchange to solve these problems. Recent on February 8, 2008. Due to this problem, the trends in software testing have been frequently trading system operation have been suspended reported in technical community.[6] For instance, a until the 12th of the month. The reported reason group for testing security software products named of the failure was an “initialization error with the Anti-Malware Testing Standards Organization memory within the server, and no initialization (AMTSO) was formed on February 5, 2008. As were conducted under a certain condition”.[1] While malware has become more diverse and products

34 QUARTERLY REVIEW No.29 / October 2008 has become more complex, the appropriate aims to eliminate bugs of programs while testing evaluation of the tests for current security software is to identify any defects in the whole program had become difficult. This organization is to including the system aspects where programs are improve testing methods and appeal the practical used. Therefore, it should be noted that these two standards and guidelines to the world. tasks are completely different in nature. In this report, first, the meaning of software For example, even if there are no bugs in a testing will be made clearer, especially for the so- program, defects may be found by testing. In other called “embedded systems”, so that the testing words, debugging is to identify whether a program becomes important for the technology related to satisfies the predetermined specifications, while the safety and security of citizens. Next, the testing testing is to identify any inconvenience for users of technologies are sketched, and the emergence the program. of companies and organizations specialized in Here is an example outside areas from software. software testing is reported. As the biggest issue Suppose some users may put “waterproof” products of software testing, this paper reports the current into the ocean or bath with some chemicals put as treatments of software test designers and engineers, bath agents. In these situations, the product needs as well as the current state of their education. to not only be waterproof against regular water, but The development of a quality assurance industry also to have certain durability against salt or other based on software testing technology is discussed chemicals. It is hardly said to be “waterproof” from along with the evaluation of software quality and the users’ viewpoint, that only the regular water is social/legal systems for software quality. We also permitted. need innovations to make all of these issues more Defects identified by debugging are attributed commonly understood by general public. This to cases that logic of an intended program was paper summarizes that the efforts to overcome such not achieved with the actual program, or there are challenges would contribute to create a “quality” mistakes in contents. On the other hand, system industry in a long run. failures to be identified by software testing are inconvenience or risk for users so that the software 2 Tests in over-all software should be designed and made to prevent such development processes– problems. differentiation from debugging – Buggy programs are written by the lack of skills of the , and the improving individual In traditional software engineering, software programming skills is the responsibility of the testing was not emphasized much, compared to programmer. If software testing were considered other parts, partly because people did not recognize to be a process for debugging, must the differences between software testing and be in charge of software testing, which is not a program debugging as described below. good practice. Putting programmers for testing may Software program failures itself may have been eventually lead to a higher risk of overseeing bugs seen even in the early days of programming. undetected. Efforts to eliminate failures are called debugging As an empirical rule in software engineering, since such failures in programs are called bugs. there should be at least some bugs unfound for While software tests are related to debugging, years in large programs with over ten-thousand they should be considered as a separate task from lines. Even new bugs (sometimes even crucial debugging. This idea was also emphasized in the ones) could be introduced during the program “Art of Software Testing” by Myers (published upgrading (or debugging) tasks. In lengthy and in 1979), which is said to be the classic book on large-scale programs, it is important to conduct software testing.[7] software testing from the viewpoint of fail-safe, The differences between debugging and software that is to prevent the system from being damaged testing may be summarized as shown in Table 1. significantly or critically even though some bugs Although both debugging and testing have the are remained and they are hit to do critically common goal of quality advancement, debugging damaging function.

35 SCIENCE & TECHNOLOGY TRENDS

Table 1 : Difference of debugging and software test

Debugging Testing Evaluate quality risks and Purpose Eliminate bugs guarantee an expected quality Subject Program System (including software) Work Correct faults Identify faults Worker Programmer Test engineer A test plan is created from Start After writing a program the phase of requirements specifications Judgment of the person in charge End (None = eternity) of testing

Prepared by the STFC

Engineering Center (SEC) of the Information 3 Definition and contents of current Processing Association (IPA), Japan. It is necessary software testing to investigate the testability from the upstream operations of requirements specifications, not There are still confusions in definitions of only to check if the users’ needs are met, but also software testing. According to [8], software testing to see how the tests will be effectively done. In is commonly known as a test to evaluate and then other words, the quality assurance process should guarantee the level of quality of software, or to start from the point in the upstream process where verify if there are no risks. With this definition, demands and requirements are studied, where the software testing needs to be started from the person in charge of the test must participate from upstream operations of software development. the start. According to the standard which stipulates the Moreover, as introduced in the Science and life cycle of software, JIS X 0160:1996(software Technology Trends 2004 September “The lifecycle process), the test is broken down into the Two Rationalities and Japan’s Software 3 phases.[9] Engineering”,[13] the methodology, known as Agile Development, of making a test program as the [1] System and software qualification confirmation first step in program creation, has been promoted tests for the development process. a new way of program development. Kent Beck, [2] Operation tests for the operation process one of the advocates of Agile Development, has [3] Quality assurance process, verification process proposed a system called Test Driven Development and validation process that include testing as (TDD), in which the software development itself part of the lifecycle supporting processes. is constructed around the testing.[14] Furthermore, Hayashi and others have proposed a system where In addition, the standard for system lifecycles, TDD is employed at the modeling stage before the JIS X 0170, which includes not only software but actual program development.[15] also hardware systems, addresses a task called Some says that the software testing process software testing in the processes of verification and would be unnecessary if it is possible to create validation.[10] high-quality bug-free software. However, if user As stated in the Science and Technology Trends “demand” is taken into consideration in the first No.11, April 2004 “Toward the Improvement of place, these demands will change depending on the Quality and Reliability in Information System time and environment. Therefore, it is important Construction− A Study of “Business Rules” to understand that there is no such thing as “with and Requirements Engineering in the Upstream absolutely no faults”.[11] Secondly as history and Process”,[11] quality assurance activities are experiences tell, it is very difficult to design and imperative in the upstream process to enhance implement software with no faults or hidden bugs, quality and reliability of a system, or in the “super even if the best developers/designers/programmers upstream operations”, coined by the Software are gathered for the process. Consequently, it must

36 QUARTERLY REVIEW No.29 / October 2008 be understood that testing is an inevitable process. of attention. Any failure of embedded software Furthermore, software testing defined as a could lead a significant problem on users, as stated process of quality assurance or verification of risk- in the example of automatic ticket gate machine free quality is different from debugging so that failure which was far more than expected by the it does not expect a perfect program without any responsible parties. Failures of mobile phones failures of components. Rather, software testing would require a tremendous amount of costs should be effective to prevent critical damages for recall and replacement of defect products. on the whole system for users, by taking into Embedded software testing becomes more consideration of potential failures of the program important than that of enterprise information and its environments. system. Some companies have emerged with the expertise of embedded software testing and are 4 Importance of software tests for increasing their sales. embedded system software The designer of embedded systems should have expertise of both hardware and software. Failures In particular, importance of software test is of the system may be caused by both hardware currently recognized in an area called embedded and software so that it is necessary to test both, not systems or embedded software. In this area, the either one. users have no sense of using software, which The popularization of Internet and integration is quite different from such areas of personal of various corporate information systems have computer OS and word processors. Embedded a dangerous implication that even conventional software is embedded in a mechanical system, information systems to affect various aspects in our where the software supports the mechanical society. In other words, corporate systems come function. to be treated as important as embedded systems In the past when computers were not easily for general public. Even one system failure of affordable, embedded software system was only a company could lead a serious inconvenience used for very special systems such as APOLLO to our society. An example is software viruses. aerospace ship or nuclear reactor control. However, There is a possibility that all people are affected with the decline of prices of computers and severely by destructive viruses with the failure that proliferation of microprocessors, the trend has an individual or a company fails to take anti-virus changed to use the microprocessors for various measures. machines, which also expanded the areas of embedded software usages. Currently, such 5 Recent trend of software test embedded software would be used in most of technologies mechanical products. For instance, an automobile has some dozens of microprocessors, and the total There are various types of software tests number of programs of its embedded software available thanks to the accumulation of its exceeds 10 million lines.[16-18] Embedded systems research and development activities. These are are widely proliferated in a rapid pace. Its business categorized depending on testing environment, scale in Japan reached 62 trillion yen, or 12% testing objectives and purposes, testing methods, of the gross national products.[19] According to and the means of testing. Nomenclatures and this METI report, the number of employees of definitions for the testing types may slightly vary embedded system companies are more than 4.71 in the textbooks listed in Reference.[20-22] Readers million, which accounts for 9% of the total workers can consult software test technologies and methods in Japan. described in these textbooks and references. This The business scale is something, but the report describes recent topics. implication for the quality of the product is more important which greatly affect the quality 5-1 Links between test process and software of life of general public. From this viewpoint, development process embedded system software currently gains a lot Traditionally, software testing are considered to

37 SCIENCE & TECHNOLOGY TRENDS be a V-shaped model as shown in Figure 1, because software. One of the software testing methods the test is conducted after software development. developed in Japan is HAYST Method.[23] This is Consequently, failures are detected and corrected a method based on a scientific test plan method, only after software development. Therefore, which is to to implement effective testing in defects in the upper stream cannot be remedied advance. until the end point of testing, which led an increase Quality engineering tells that quality should be of workload for correction. incorporated in the upstream process. This means In the testing phase, traditional focus have that upstream process needs testing for quality. been the increase of numbers of tests, which may Recently, the W-shaped model as shown in Figure not bring effective results to solve problems in 2 supersedes the traditional V-shaped model. The

Requirement System test specification 㧔Regression test㧕

Function test Specification design Integrated test Basic design Comprehensive test

Detailed design Single unit test

Implementation Code inspection

Figure 1 : V-shaped model of development and test (conventional) Prepared by the STFC

Requirement design System䇭test design System test

Specification Function test design Function test design

Basic design Integrated test design Integrated test

Detailed Single unit test Single unit design design test

Coding

Figure 2 :The “W”-shaped model for software development and tests (the most recent model) Prepared by the STFC

38 QUARTERLY REVIEW No.29 / October 2008

two large downward arrows in the left of Figure techniques. Dynamic test is to execute a program 2 represent a waterfall development of traditional and analyze the results. The static test is to analyze software development, which was referred as a linear a program text without executing a program. “Test” development in “Information and Communications section in “Guide to the Software Engineering Technology and Shiso – Shiso as a Capability for Body of Knowledge” [25] refers to dynamic Science and Technology”.[24] However, horizontal techniques, while the static testing is categorized arrows indicate that test designs will be conducted in “Verification and Validation” section. However, with the development in each phase. Even the other software test textbooks include the static pre-development requirements phase will be test in the part of testing. The static test includes accompanied the system test design and testability human-based activities such as “review” and consideration. While the system test itself will be “inspection” as well as computer-based analysis conducted in the final phase, the test design and and data processing such as “metrics”, “coding testability investigation may correct failures in the rule inspection”, “static analysis” and “model upstream. checking”. While the dynamic test can be done The W-shaped model creates a test program in without special knowledge, the static test can only line with the program design in the same manner be performed by specialists. Its advantage lies in its of Agile Development Method. However, while prompt feedback to the development team because Agile Method requires programmers who write it is done in the midst of development process a program would conduct the test, the W-shaped rather than after the development. Static test can model assigns test engineers, not programmers to improve development process and human abilities. do the test. In terms of quality improvement of system Some idealist claims that in the future, special development, it is necessary and efficient to ensure quality software could be produced which could the quality in the upstream process.[11] This is also avoid testing. However, it is impossible to omit a true for software testing. A method called “model test for any products or systems today, and most checking” now gains a keen attention in a design likely even in the future we still need testing. phase.[26] The model checking is especially useful Moreover, software is growing further complicated for the time critical system which is difficult with and larger in scale, and it becomes more difficult dynamic testing technique. The model checking to create a perfect flawless program. Hence, it is does not test software itself but build a model of crucial to manage software risks by the effective the system and test the model using a verifier. tests of the existing and under development The system including hardware and software is software. If we extend the principle of “testing represented as a state transition machine with accompanies with development” to the principle temporal logic. There are skeptical opinions of “test is created before development, and whether it is appropriate to include model checking development should proceed to satisfy the test”, in the software test technology, Not many software it will produce the framework of the test driven testing textbooks include model checking. While development methodology (TDD) described in this technology has a long history as an automatic Chapter 3. Theorem Proving or mechanical proving method, Since the software is invisible, it would be various tools have been developed recently and effective to apply requirement testability and TDD effectively used. SPIN[27] is the most widely used for the software development. These methods tool. can be applied for software in a wider sense, such as laws and regulations. Industrial efforts 5-3 Automation of software test for “visualization” and “performance evaluation” In general, the workload of software test would can be an indication for the effectiveness of these increase exponentially with software size. This is testability/test-driven approach. because when the number of conditions increases, the number of necessary tests also increases. To Figure 2 :The “W”-shaped model for software development and tests (the most recent model) 5-2 Static test overcome this issue, it is natural to adopt the Software tests employ static and dynamic automation of tests with the accompanying quality

39 SCIENCE & TECHNOLOGY TRENDS and efficiency. The following methods are available temporary/extra workers are considered to be for software . enough for testing. Moreover, even a test period could be significantly shortened to compensate the - Automatic generation of input load such as load delay of development, which represents a distorted tests on the Internet situation that the local politics gains precedence - Automation of tests by test script languages such over the fulfillment of testing activities which has as TTCN-3 an overall importance for quality. This is another - Automatic generation of test cases using UTP reason to bring the birth of test industry. (UML Testing Profile) etc. This movement of independent test industry happens not only in Japan but in India where On the other hand, there are critical opinions software industries is booming as a major national against the introduction of automation tools.[28] business. For instance, an Indian company This is because the ad-hoc automation or random specialized in software testing named STAG introduction of test tools produced confusions. has their office in Japan and the United States. In order to succeed in automating a system, an Infosys, the largest software company in India has adequate and enough preparation is needed such as Independent Validation Center (IVC). This is an to develop human resource of skilled engineers and individual organization within the company with to nurture the necessary environments to produce 3000 employees and rapidly growing. IVC has successful results. Chinese Walls for software that is developed by Infosys. 6 Software test industry These testing companies and organizations have increased because the software usage has increased Increased importance and workload of software and the companies who try to use the software are tests has let some companies to outsource the not able to afford personnel to test the software. In testing activities to other companies. This is the current circumstance where new technologies mainly because it is required (1) to decrease the are introduced every month while software gets cost related to testing, (2) to adjust manpower in more complicated, it is more effective to employ a limited time frame and (3) to get specialized specialized companies or organization to do the knowledge and skills in testing from outside. In testing job in terms of cost, work period and quality. particular, the number of test required for recent Infosys IVC is capable of maintaining a knowledge embedded systems has become enormous, so base to evaluate requirement specification companies tend to rely further on outsourcing. according to its development schedule, work items With this circumstances, IT Verification Industry and expected results. Specialized companies are Association (IVIA)[29] was established in Japan in able to use their experiences based on many actual 2005, which has 47 member companies as of March cases, so that their know-how could be utilized by 2008. IVIA has divisions such as Technology, outside companies. Standardization, Education/Training and Alliance etc., and especially puts their efforts on the skill 7 Education of test engineers and certifications for test engineers. According to IVIA, designers the companies in test industries reached around 1000, and 100million yen sales. They view this The needs of highly skilled IT personnel have industry has a strong potential of growth. been discussed in many occasions for the past few While it is true in software development in years. However, these discussions have not come general in Japan that test engineers of large to the need for personnel for software test yet.[18] companies has more skills than those who are In fact, the needs of software test specialists have individual contractors or of small and mid-sized been discussed by concerned parties for years. companies, large organizations tend to treat However, very little attempt has been conducted by tests as lower class than planning, development, universities or colleges to have a special course on manufacturing or sales so that newly-hired or software testing. In the reference[21] published in

40 QUARTERLY REVIEW No.29 / October 2008

1999, no student has got software test course and engineer” as a job category, because test engineers the situation was regarded as hopeless. are much more important for embedded software. In Japan, IVIA, the software test company ETSS specifies required skills for test engineers. association as mentioned earlier, and other Non Japan Electronics College has established a new Profit Organizations have been providing a course called Software Test Design Course in April certification for software test skills. One of the 2008 to cope with the recently increased demand most representative organizations is Association of software test specialists. This 2-year course of Test EngineeRing (ASTER) established in provides curriculum for test engineering. According April 2006. ASTER holds an annual software test to its website, the course addresses: testing symposium called JaSST to encourage technical method, testing environment development skill, and human development in the field of software test management skill, performance evaluation testing. skill, , idea development skill, There is a world-wide organization named embedded system, and case studies. The pre- International Software Testing Qualifications Board requisit skills and knowledge are also handled (ISTQB) supporting skill certification for software including computer in general, programming, test engineers.[31] According to its website, 39 and networking skills. The college says that member countries are participating including Japan many companies are interested in employing the as of February 2008. ISTQB’s member organization, graduates so that the students need not worry about called Japan Software Testing Qualifications their employment. However, there is a concern Board (JSTQB) provides certification for software if high school students could have a favorable test engineers.[32] The website of JSTQB shows impression on the word “test”. the data about the number of certified engineers Looking at the education overseas, for instance, in 20 member countries and regions. It shows IT companies in India are famous on their that there are about 24,000 certified engineers employee training. In the human development in the world and more than 1000 in Japan. program of IVC in Infosys, they aim at not only Information-Technology Promotion Agency, Japan testing skills but also other skills in technology, (IPA) has developed ITSS (IT skill standard) quality, process, application and even behavioral and ETSS (embedded software skill standard). abilities such as leadership and communication ITSS “systematically summarizes abilities/skills skills. They also provide career opportunities for required to provide various IT related services, test engineers to become the board member in and to provide a scale (common framework) testing divisions. effective to measure the level of performance Product tests are not just a series of trial use. of IT service professionals in the academia and To conduct a test will require special knowledge industries”. ETSS aims to “enhance the human about the product and the user. Test engineers ability for embedded software development and to must precisely understand the product perspective develop mechanisms to achieve human resource with its strategy and value proposition, which is development and exploitation for embedded equivalent to understanding of the status, strategy software development”. and value of the organization for the product. That ITSS was originally developed in 2002, and has is, test designers/engineers should share the sense “testing skill” in its skill item for system, database, of issues that the corporate management have. network and other function skills required for IT In this sense, those who are capable of leading specialists. For application specialists, “testing software testing are very valuable, so that there skill” is found among the required methodology might be a discussion whether it is appropriate to for software engineering. However, there is no job have them just to handle testing. Human resources category for testing specialists. In the job category related to software testing should play a significant of consultant or IT architect, no testing skill is role to evaluate various risks related to quality included. Only the various testing related skill of products as well as to ensure the “quality of items are listed. organization”. Likewise, it will be necessary to Meanwhile, ETSS developed in 2005 lists “test foster software testing engineer/disigner/manager

41 SCIENCE & TECHNOLOGY TRENDS in the advanced education in universities and to make a whole system. If any accident occurs, graduate schools. Enterprises are also required various parties would be involved, and this will to promote the personnel who are specialized in add the complexity to handle the problems. software testing to higher states/positions. 8-2 Software test audit by the third party 8 Software risk management and Software systems that may affect the society its future should require audit by the outside third parties other than the owner/orderer and contractor. Software test specialists are required to have This auditor will compile the results with the communication skills to talk to development software test and put the documents in the third engineers to avoid any unwanted defects in party archive. Once any inconvenience occurs to quality of products, as well as specific test skills. the system, any people to solve the problem will Moreover, from the viewpoint of risk management, immediately access the archived record and act it is required to have management skills to consider any adequate operations. Such organizations are the influence of inconvenience due to the society required to have the capability of comprehensive in large. Nonetheless, some companies are still quality evaluation and risk management including putting beginners on the testing job considering extensive software testing capabilities. that they can do the test without any special skills. Software are becoming further complicated and the 8-3 Legal systems to handle software failures whole world is relying more heavily on software. The current product liability laws (PL Laws) Therefore, even though software test technologies would not apply to software. However, as there will advance, our concerns on serious software are requests to apply PL laws even for software accidents will continue to exist and to grow. because accidents could occur by the failure of Considering the significance of risk management, software of the system, there is a possibility that it would be necessary to create a social framework the law will be enforced for product liability to this issue. This is also related to the needs of concerning software. In this case, it is desirable compliance in recent years.[33-38] Hence, here is a to have laws and regulations to minimize any proposal for software risk management in a wider damages of accidents. This may handle - the perspective. current software license agreement (End User License Agreement, EULA) - which claims entire 8-1 Knowledge sharing through the product liability to the producer. One issue would establishment of accident investigation be how to control potential damages due to the committee modification by users or outside parties, while In case when any failure of software system promoting the technical development. occurs that could affect the society, the accident investigation committee analyze the software 8-4 Study on terminology, description and system thoroughly to prevent similar accidents, representation, and basic knowledge of and our society and engineering community software can learn these lessons to advance the software Software related accidents and problems may systems. There would be several possibilities how only be attributed to software specialist, and the to form such committees. One would be to consist organization on the whole may not understand the of contractor and owner/orderer. The other is to issue. This may lead to a neglect of software quality have outside organization where the concerned because it is not perceived as the issue for whole party would not participate in. Their mission is the stakeholders. In order to avoid this situation not to determine who is responsible but only to and to share the successful results of e-Japan analyze why the accidents have occurred. In the strategy by all citizens in Japan, it is necessary to current government, local or central, procurement make efforts to promote researches on software operation, most are divided up according to work terminology, description and representation so that phase, so that multiple contractors are participated general people and managers of organization can

42 QUARTERLY REVIEW No.29 / October 2008 easily understand software related accidents and world. issues. Activities for training and proliferation for software to general public would also be required. Acknowledgment These kinds of activities described from 8-1 We would like to extend our gratitude for to 8-4 have potentials to bring an opportunity to providing invaluable information in this project to review the quality of Japanese systems including the following people: Professor Zengo Furukawa, products made in Japan, and to be an activity Reliability Information System Engineering to widely provide quality related services not Department, Faculty of Engineering, Kagawa only to a company but also to the society, which University, Lecturer Yasuharu Nishi, Faculty of is “industrialization of quality”, so to speak. Electronics and Communication, The University If software test is treated from such viewpoints, of Electo-Communications, Takahiko Kosuge investment in software test personnel including Principal Researcher, Open Source Education researchers, designers, engineers and managers will System, Japan Electronics College Dr. Masashiro not only enhance the industrial competitiveness of Tsuruho, Director of Software Engineering Japan but also to create a new knowledge industry Center (SEC), Information-Technology Promotion to contribute to the safety and security of Japan and Agency, Japan (IPA), Hiroshi Monden, Project the rest of the world. Leader of Embedded Software Project, SEC, IPA, Dr. Masayuki Hirayama, Researcher, Embedded 9 Conclusion Software Project, SEC, IPA, Yurie Ito, Director of Technical Operation, Office of Business As software tests have been conducted as a final Planning, Japan Computer Emergency Response process in conventional software development, Team Coordination Center (JPCERT), Takayoshi some are mixed up with debugging, which caused Shiigi, Senior Analyst, JPCERT, Kazuya Togashi problems. Now, in recently years, software test as Chief System Architect, Office of Business a quality assurance and risk management activity Planning, JPCERT, Hirohisa Furuta, Information gains a lot more attention and appreciation. Security Analyst, Group Manager, Information This is because embedded software system Coordination Group, JPCERT , Kenji Onishi, has become widely use, though which has led Senior Consultant, Enginnering Solution Division, unexpected troubles by unexpected use by users. Mamezo Corporation, Toru Matsuoya, President Some troubles have had caused a significant and CEO of Debug Engineering Research Institute, influence on our daily lives. These problems cannot Dr. Juichi Takahashi, Distinguished Engineer, be solved only by debugging, but by conducting Software Assurance Dept. Platform Technology various software test both in and around the system Division, TV Business Group, Sony Corporation, where every possible cases are covered. Technical Kiyotaka Asai, President and CEO of Veriserve development and system and environmental Corporation, Nobuhito Katsumata, Manager, and maintenance should be conducted to create a Katanori Sasaki, Manager, Veriserve Corporation. quality and reliable software, along with the promotion of software test development, fostering References its specialists. In fact, due to both the importance [1] Nikkei ITpro, Tokyo Stock Exchange and difficulty of software test, new companies and New Derivative Selling/Buying System organizations specialized in software test have Restored, due to initialization error of the emerged and their business is steadily growing. memory : http://itpro.nikkeibp.co.jp/article/ These are “industrialization of quality” of NEWS/20080212/293526/ (Japanese) software so that it should be emphasized that [2] Mainichi Newspaper, Train Station Ticket Gate investment in software test researchers, designers, Machine Trouble: confusion of commuters in engineers and managers would not only enhance metropolis, October 12, 2007No.42, Special the industrial competitiveness of Japan but also Article 1, 2004 (Japanese) to create a new knowledge industry contributing [3] Asahi Newspaper, A mistake of a text led a to the safety and security of the country and the big trouble: Ticket Gate Machine Trouble in

43 SCIENCE & TECHNOLOGY TRENDS

Tokyo Area, October 28, 2007 (Japanese) [15] Susumu Hayashi, Pan YiBing, Masami SATO, [4] Teiichi Aruga, Another trouble of train Kenji MORI, SUL Sejeon and Shusuke station ticket gate machine, no lesson HARUNA. Test Driven Development of was learned from the past, Future of IT UML Models with SMART modeling system. industry, NikkeiNet, October 16, 2007: <> 2004 – The Unified Modeling http://it.nikkei.co.jp/business/column/aruga Language, Lecture Notes in Comp. Sci., No. _gyokai. aspx?n=MMIT0z000016102007 3273, Springer-Verlag. pp.395-409, 2004 (Japanese) [16] Katsuhiko KAJI, New phase of IT policy [5] Teiichi Aruga, “Suica” troubles at train and expectation to SEC, SEC Forum 2006, station ticket gate, Accountability of JR, 2006 : https://sec.jpa.go.jp/download/ Future of IT industry : http://it.nikkei.co.jp/ dl.php?filename=event/2006/20060612/ business/ column/aruga _gyokai.aspx?n=M secforum2006_0_kazi.pdf (Japanese) MIT0z000004122006 (Japanese) [17] Industrial Structure Committee IT Economy [6] Naohiko FUKAYA, Zengo FURUKAWA, Group, IT Service Software Subcommittee Yasuharu NISHI, special issue: New Trend of Interim Report, June 2006 : http//www.meti. Software Test, Journal of IPSJ, Vol 49, No.2 go.jp/press/20060613010/torimatome-hontai- 126-173 (Japanese) set.pdf (Japanese) [7] Glenford Myers, The Art of Testing, First [18] Toru YAMASHITA, Proposals for Advanced Issue in 1979, Second Edition in 2004. IT Human Resources, NHK Shuppan, 2007 [8] SQuBOK Committee, Software Test Quality (Japanese) Knowledge system Guide – SQuBOK Guide, [19] Ministry of Economy, Trade and Industry, Ohmusha, 2007 (Japanese) Information Policy Agency, Information [9] JIS X 0160: 1996, Software Life Cycle Policy Unit Information Processing Unit Process, Japan Standards Association, 1996 Information Process Promotion Section, (Japanese) 2007 Embedded Software Industrial Activity [10] JIS X0170 : 2004, System Life Cycle Research Report, June 2007 (Japanese) Process, Japan Standards Association, 2004 [20] Kenji ONISHI et al., JSTQB textbook, (Japanese) JSTQB certification test engineer, [11] Toshiaki KUROKAWA, Toward the Foundation Level Test, Shoeisha, 2007 Improvement of Quality and Reliability (Japanese) in Information Systems Construction – A [21] Cem Kaner, Jack Falk, Hung Quoc Nguyen, Study of “Business Rules” and Requirements Testing Computer Software, 2nd Edition, Engineering in the Upstream Process –, John Wiley & Sons, 1999 Science & Technology Trends – Quarterly [22] Kaner, Cem, James Bach, Bret Pettichord Review, No.11, April 2003, pp.19-29 (Eds.) Lessons Learned in Software Testing, [12] Software Engineering Center, Information- John Wiley&Sons, 2002 Technology Promotion Agency, Securing [23] Masataka Yoshizawa, Koichi Akiyama, a required quality with involvement of Taro Sengoku, Software Test HAYST corporate management – Key of IT business Method Basics, How to Improve Quality and from the upstream process. SEC BOOKS, Productivity, Nikkagiren, 2007 (Japanese) Ohmusha, 2005 (Japanese) [24] Susumu Hayashi, Information and [13] Susumu HAYASHI, Toshiaki KUROKAWA, The Communications Technology and Shiso Two Rationalities and Japan’s Software – Shiso as a Capability for Science and Engineering, Science and Technology Technology, Science and Technology Trend Trends - Quarterly Review, No. 14, January Quarterly Review, No. 23, April 2007, 2005, pp.41-53 pp.11-22 [14] Kent Beck, Test Driven Development: By [25] Alain Abran and James W. Moore (Executive Example, Addison-Wesley Professional, Editors), Pierre Bomrque and Robert Dupuis 2002 (Editors), Guide to the Engineering Body of

44 QUARTERLY REVIEW No.29 / October 2008

Knowledge, 2004 Version, SWEBOK, IEEE [34] Financial Services Agency, SOX Laws and Computer Society and IEEE,2004 Financial Services Act and its Enforced [26] National Institute of Advanced Industrial Regulations, February 2007 (Japanese) Science and Technology, Model Inspection [35] Financial Services Agency, Financial to learn in 4 Days, NTS, 2006 (Japanese) Statement Compliance Evaluation and [27] ON -THE -FLY, LTL MODEL CHECKING Supervision Standard related to Financial with SPIN: http://spinroot.com/spin/ Statement, February 2007 (Japanese) whatispin.html [36] Financial Services Agency, Financial [28] Toshikazu TAKAHASHI, Chishiki Zero kara Statement Compliance Evaluation and Manabu Software Test, Software Test to learn Implementation Standards concerning for Beginners, Shoeisha, 2005 (Japanese) Supervision, February 2007 (Japanese) [29] IT Verification Industry Association(IVIA) [37] Ministry of Economy, Industry and Trade, website: http://www.ivia.gr.jp/index.html System Management Standard Supplemental (Japanese) Information (IT Governance Guidance [31] International Testing Qualifications concerning Financial Statement), February Board(ISTQB) website: http://www.istqb.org/ 2006 (Japanese) [32] Japan Testing Qualifications Board (JSTQB) [38] Ministry of Economy, Industry and Trade, website: http://jstqb.jp/index.html (Japanese) System Management Standard Supplemental [33] Hisamichi OKAMURA, Kaisha no Naibu Information (IT Governance Guidance Tosei, Corporate Compliance, Nikkei concerning Financial Statement) Annex, Shinbun Shuppansha, 2007 (Japanese) December 2006 (Japanese)

Toshiaki KUROKAWA Affiliated Fellow, NISTEP CSK Holdings Corporation, CSK Fellow http://www.csk.com/index.html

Worked for Toshiba and IBM before joining CSK. Specialized in programming language, object- oriented programming and meta data standardization. Interested in the upstream process of system development, services sciences, science and technology community, and cloud computing.

Masato SHINAGAWA Affiliated Fellow, NISTEP Academic Professor, Hosei University Information Technology Research Center

1967- 2000, MPT (Ministory of Post & Telecommunications) 2003-2006, SI business Interested in correlation between natural science and social science.

(Original Japanese version: published in April 2008)

45