4,138 research outputs found

    A TDD approach to introducing students to embedded programming

    Full text link

    MITT writer and MITT writer advanced development: Developing authoring and training systems for complex technical domains

    Get PDF
    MITT Writer is a software system for developing computer based training for complex technical domains. A training system produced by MITT Writer allows a student to learn and practice troubleshooting and diagnostic skills. The MITT (Microcomputer Intelligence for Technical Training) architecture is a reasonable approach to simulation based diagnostic training. MITT delivers training on available computing equipment, delivers challenging training and simulation scenarios, and has economical development and maintenance costs. A 15 month effort was undertaken in which the MITT Writer system was developed. A workshop was also conducted to train instructors in how to use MITT Writer. Earlier versions were used to develop an Intelligent Tutoring System for troubleshooting the Minuteman Missile Message Processing System

    Software Requirements As Executable Code

    Get PDF
    This project analyzed the effectiveness of using Story Testing frameworks to create an application directly from user specifications. It did this by taking an example business application with traditional specifications and rewriting those specifications in three different Story Testing Frameworks - Cucumber, FitNesse, and JBehave. Analysis of results drew the following conclusions: 1) Story Testing can help prove a project\u27s completeness, 2) Specifications are still too technical, 3) Implementation is not overly complex, and 4) Story Testing is worth it. It proposed future research around evaluating natural languages and seeking more user-friendly ways of writing specifications in a natural language

    The cleanroom case study in the Software Engineering Laboratory: Project description and early analysis

    Get PDF
    This case study analyzes the application of the cleanroom software development methodology to the development of production software at the NASA/Goddard Space Flight Center. The cleanroom methodology emphasizes human discipline in program verification to produce reliable software products that are right the first time. Preliminary analysis of the cleanroom case study shows that the method can be applied successfully in the FDD environment and may increase staff productivity and product quality. Compared to typical Software Engineering Laboratory (SEL) activities, there is evidence of lower failure rates, a more complete and consistent set of inline code documentation, a different distribution of phase effort activity, and a different growth profile in terms of lines of code developed. The major goals of the study were to: (1) assess the process used in the SEL cleanroom model with respect to team structure, team activities, and effort distribution; (2) analyze the products of the SEL cleanroom model and determine the impact on measures of interest, including reliability, productivity, overall life-cycle cost, and software quality; and (3) analyze the residual products in the application of the SEL cleanroom model, such as fault distribution, error characteristics, system growth, and computer usage

    Maintenance of Automated Test Suites in Industry: An Empirical study on Visual GUI Testing

    Full text link
    Context: Verification and validation (V&V) activities make up 20 to 50 percent of the total development costs of a software system in practice. Test automation is proposed to lower these V&V costs but available research only provides limited empirical data from industrial practice about the maintenance costs of automated tests and what factors affect these costs. In particular, these costs and factors are unknown for automated GUI-based testing. Objective: This paper addresses this lack of knowledge through analysis of the costs and factors associated with the maintenance of automated GUI-based tests in industrial practice. Method: An empirical study at two companies, Siemens and Saab, is reported where interviews about, and empirical work with, Visual GUI Testing is performed to acquire data about the technique's maintenance costs and feasibility. Results: 13 factors are observed that affect maintenance, e.g. tester knowledge/experience and test case complexity. Further, statistical analysis shows that developing new test scripts is costlier than maintenance but also that frequent maintenance is less costly than infrequent, big bang maintenance. In addition a cost model, based on previous work, is presented that estimates the time to positive return on investment (ROI) of test automation compared to manual testing. Conclusions: It is concluded that test automation can lower overall software development costs of a project whilst also having positive effects on software quality. However, maintenance costs can still be considerable and the less time a company currently spends on manual testing, the more time is required before positive, economic, ROI is reached after automation

    An environment for educational service communities

    Get PDF
    In most global economies, there is a strong trend from agriculture and manufacturing towards service-orientation and tertiarisation: Services, products with value-added service solutions and, more recently, automated Internet service offerings seamlessly delivered through on-demand elastic cloud computing resources. In the affected societies, education is recognised as a key factor for maintaining the competitiveness. Specialised education about services is widely available, but tool support for hands-on learning and testing of how services can be produced, offered, delivered and improved is missing. We aim to fill this gap between theory and application by proposing an integrated environment for educational service communities such as service engineering classes. Initial results of our work show that the environment, which supports both auto-didactic learning and team-based competitive and collaborative learning-by-doing throughout the service lifecycle, motivates students and increases their practical knowledge about services. Our experience with the actual use of the environment in the context of a university course about web services and conclude the article with suggestions for future work are discussed

    Proceedings of the Seventh Annual Software Engineering Workshop

    Get PDF
    The Software Engineering Laboratory, software tools, software errors and cost estimation are addressed

    A Lightweight State Machine for Validating Use Case Descriptions

    Get PDF
    This paper presents a tool to provide an enaction capability for use case descriptions. Use cases have wide industry acceptance and are well suited for constructing initial approximations of the intended behaviour. However, use case descriptions are still relatively immature with respect to precise syntax and semantics. Hence, despite promising work on providing writing guidelines, rigorous validation of use case descriptions requires further support. One approach to supporting validation is to use enaction. Indeed, enactable models have been used extensively within process modelling to clarify understanding of descriptions. Given the importance of requirements validation, such automated support promises significant benefits. However, the need to produce formal descriptions, to drive enaction, is often seen as a barrier to the takeup of such technologies. That is, developers have traditionally been reluctant to increase the proportion of effort devoted to requirements activities. Our approach involves the development of a lightweight state-machine, which obviates any need to create intermediate formal descriptions, thereby maintaining the simple nature of the use case description. Hence, this 'lightweight' approach, which provides an enaction capability ‘for minimal effort’, increases the likelihood of industrial take-up
    corecore