Code Debugging Tool to Help Teach Mainframe Programming Languages Claudio Gonçalves Bernardo Paulo Roberto Chineara Batuta Msc
Total Page:16
File Type:pdf, Size:1020Kb
Code Debugging Tool to Help Teach Mainframe Programming Languages Claudio Gonçalves Bernardo Paulo Roberto Chineara Batuta MSc. Computer Engineer MBA Software Quality Universidade Paulista Centro Universitário Araraquara Brazilia – Brazil São Paulo - Brazil [email protected] [email protected] Abstract – The purpose of testing activity is to discover errors in important to check the quality of software at various stages of software and for this objective to be achieved many activities development, not only restricting the testing phase of the software. must be performed. There are several types of test and while An appropriate test is one that discovers the greatest possible some are generated and focused on functional verification of a number of faults in the software and when this software is designed component and incorporating components in the structure of the to run in an large environment, also known as Mainframe, becomes program, others are applied to point traceability requirements. an even greater difficulty, since this environment is complex and the There are systems tests designed to validate part of a software characteristics of each facility are different. Universities see this component, which is a part of software solution greater. Its difficulty as a major obstacle to the teaching of languages such as function is only to be a small part of a more complex reality. The Cobol, PL/I, Easytrieve, Assembler and others, who did not die and different types of tests are complementary and in most cases are will not die, as a single system mainframe can deliver thousands of applicable to all software developed. All aim to develop programs virtual Linux platforms with a small fraction the dollar cost, power with the fewest mistakes as possible, allowing the product to and space [20]. The preparation of students for the global IT industry deliver the desired quality. The activity of preparing becomes very difficult. [12] states that it is necessary that the professionals in the use of language for Mainframe environment professional has complete mastery of the scenario where the tests will is difficult mainly because the programs need to test both the be carried out and for this to happen should apply innovative uses of online environment as batch. This work presents a modern tool technology in the classroom, thus seeking to reduce the learning time for debugging source code developed in Mainframe platforms. It with a closer view of the possible day-to-day industry produces presents the tool and its installation. Its use in a teaching unit of software for Mainframe environments. the programming language for Mainframe environment becomes essential as it allows the student to know the procedures of II. SOFTWARE TEST preparation and test execution step by step. This activity will prepare students better for becoming a member of a team The need of Software Test before delivery, whether Individual developing applications large and it allows to accurately meet the Test, System Test, Integration Test or Test Certification is a notorious requirements presented by Software Quality area of any issue in all organizations that develop IT solutions. To ensure that the institution, whose intention is to deliver the final product with product is delivered according to specified was necessary that the IT minimum possible errors meeting all the requirements generated market suffer some facts of reality. According to research presented by the final customer in the shortest time. by [11], 50% of companies surveyed 25% or more of IT projects are completed late, 57% of companies in each two IT initiatives, Keywords: Software Testing, Preparing for IT Industry, generated only a positive business results. Companies that can Debugging Tool, Mainframe, Innovation in classroom. accelerate the completion of projects and IT services acquire a significant profit margin, while the others were not capable of it are I. INTRODUCTION victims of ruthless competition. Software development is an activity that involves several stages, The activity of Software Testing performed in a controlled and including the testing phase. The test phase is assigned responsibility disciplined performance ensures superior to software product for finding the largest number of possible errors, avoiding that they delivered, due to the reduced number of errors when it enters the are already found by the client when implanted [16]. Because it is a production phase. In [14] researchers argue that the developer should human activity, has a high probability of insertion errors. On average, use software agents for prioritizing test cases in order to maximize 10 errors can be found for every 1000 lines of code (1 error per the number of faults found during the time available for testing with a KLOC - Kilo Line of Code). The test software allows errors to be particular order of priority. In [1] is presented research that provides a identified before being delivered to the customer, a situation that systematic review of the use of statistical tests to assess randomized enables correction of the problem; because this fact allows the parties algorithms in software engineering. Here the aim was to show that involved (customer and supplier) enter into agreement on the solution randomized algorithms are used in a significant percentage of or consequences caused by error identified. projects and that in most cases do not appear in searches. There are The activity of software testing can be considered as one of those many statistical tests based on different subjects and not always contributing to the improvement of quality, since the software tends peaceful spot when and how these tests should be used. to have improvements compared to its previous state. Software In [13] researchers report cases of manual tests are time consuming quality must consider not only the occurrence of error but also the and are prone to many errors. They argue that tests based searches software serves the purpose perfectly expected by the client. It is can help in automating this process by reducing the time and effort to automatically generate test cases and complex data for relevant tests. They claim that research has focused on programming languages and According to [4], a failure can be caused by various reasons, such statistical data inputs for simple tests such as input of numbers, but as the specification that may be incorrect, incomplete or unclear, it this practice is not for dynamic programming languages that are may contain requirements impossible to implement due to hardware widely used by developers . limitations or software or even by sheer nonsense of requester, that generated the requirements. To ease the difficulty between the end A. DEFECTS , ERRORS AND FAILURES user and the creator of the requirements was established requirements engineering. Another reason for the occurrence of a fault may be the To be presented some elements of the discipline of Software existence of a database totally disorganized, featuring clearly the lack Testing is necessary to identify some concepts relevant to it. The first of preparation for mass screening appropriate to consider all possible one is to interpret what constitutes a defect. This is inconsistent act ways that the conditions of business rules may lead. Finally, failures committed by an individual trying to understand a piece of may also be the consequence of defects in deployed script prepared information, solve a problem or to use a method or tool. An for the tests. The student of computer programming courses at a instruction or incorrect command within a source code illustrates the university or even training companies need to have the exact idea of concept categorically Defect. the importance of testing for the software industry, need to Error is a concrete manifestation of the defect described in the understand how this industry suffers if requirements are generated so preceding paragraph, when this happens in a software artifact. The inaccurate as this inaccuracy directly affects the results that are difference between the value obtained and the expected value, expected of program testing to be performed. representing any intermediate state incorrect or unexpected result in the execution of a program is a mistake. Failure is the operational B. TEST FEATURES behavior of the software different than expected by the user. It can be It is extremely important to identify the different features that the caused by several errors, but it is important to note that some errors Software Testing presents. Not just a matter of nomenclature, but to throughout the lifetime of a software solution, can never cause ensure that all possibilities to interpret this discipline are reflected in failure. software development. According to [5] some project leaders The defects are considered part of the physical universe, which is understand that Software Testing is an activity that should be handled the software application in a real and are caused by people, through only at the end of the development process and is perceived that the the misuse of any technology. These can cause errors in the delay in detecting errors makes the delayed repair and costly. So manifestation of a product, in building a software differently to what spending on financial correction could be used for other project was specified. Errors generate faults, interpreted as unexpected activities. The test becomes of great importance in the development, behaviors in a software that directly affect the end user of the as it allows the hits are performed before implementation. application, so you can undo all the generated worked to develop the The set of principles, described below, serve as a guide to make the same. most effective software testing: Some factors such as incorrect understanding of user needs, the • All tests must be related to customer requirements; lack of ability to deal with changing requirements and the discovery of serious problems in the final stages of the project lead to failures in • Tests should be planned long before it starts; software [16].