SSW 567 Software Testing, Quality, and Maintenance

Total Page:16

File Type:pdf, Size:1020Kb

SSW 567 Software Testing, Quality, and Maintenance School of Systems and Enterprises Stevens Institute of Technology Castle Point on Hudson Hoboken, NJ 07030 SSW 567 Software Testing, Quality, and Maintenance PURPOSE: This memorandum provides the Syllabus for SSW 567 TEXTS: • A Practitioner’s Guide to Software Test Design by Copeland - Artech House [PG] • Software Testing: A Craftsman’s Approach – Jorgensen [ST] • Software Measurement and Estimation by Laird – Wiley (optional) [SME] SOFTWARE: • Open Office/Microsoft Office • Possibly the ATM Simulation software system by Russell C. Bjork [ATM] • Freeware tools for Configuration Mgmt (e.g., Subversion), Test Mgmt (e.g., Testopia) and Defect Mgmt Tool (e.g., Bugzilla, Mantis) COURSE DESCRIPTION: This course is an in-depth study of software testing and quality throughout the development process. The successful student will learn to effectively analyze and test software systems using a variety of methods as well as to select the best-fit test case design methodologies to achieve best results. There is extensive hands-on project work in this course. Emphasis is placed on testing as technical investigation of a product undertaken to determine the system quality and on the clear communication of results, both of which are crucial to success as a tester. COURSE PREREQUISITES: Working knowledge of C, C++, or Java (or some other programming language). Extensive programming will not be required. COURSE OUTLINE SSW 567 School of Systems and Enterprises Stevens Institute of Technology Castle Point on Hudson Hoboken, NJ 07030 Readings in MODULE DESCRIPTION PROJECT Texts Definitions of Testing, QA, Install configuration Lecture 1: Getting [PG] ch. 1, 15, 16; faults, failures & their Costs; mgmt tools, write Started [ST] Ch 1 & 2 Fundamental Issues of testing initial program Lecture 2: SCM Concepts, Processes, [ST] Ch 3: This is Test initial program - Configuration and Tools Continuous background seeded bugs Management Integration. Models: Finite State [ST] CH 7, Ch 4.3.1 Decision Table Lecture 3: Behavioral Machines, Decision Tables, & 4.3.2, 4.3.5; [PG] Testing, state Models Markov Chains, Statecharts ch. 5,7 transition testing Lecture 4: Inspections, Architecture [PG] 1, [ST] 22 Requirements review Requirements Testing Reviews Design Complexity and Metrics [PG] ch. 3, 4, 8, 10, Unit, Static Analysis Lecture 5: Design and Equivalence Classes, 11; [ST] 4.1, 4.2, and code coverage Unit Testing Boundary Conditions, Static 5,6, 8, 16.4 – For tools, eq and Analysis Ref. boundary analysis Integration Testing Process, Lecture 6: Orthogonal Plan, Strategy & Tools; OA [PG] ch. 6; [ST] 13, Orthogonal Array Array & Integration construction, test & 20 Exercises Testing techniques, continuous integration Functional, Negative, Lecture 7: System [PG] ch.14; [ST] 14, Scenario, Soap Opera, System Testing Testing 18, 21 Mutation Usability Test Lecture 8: Usability Usability Testing Comparison of Testing Websites Lecture 9: Security Security Lifecycle, Issues & Web Goat, [PG] ch.9 Testing Testing Webscarab Lecture 10: Reliability, operational profile, Regression & [PG] ch. 5, 10 [ST] Performance and performance, load & stress Performance Testing 14.8, 14.9 Reliability Testing testing [ATM] Lecture 11: Test Test Progress Metrics, Progress, OOT Measurements & Reports; OO [PG] ch.16; [ST] 15 None Testing Issues Scope, Approach, Criteria, Lecture 12: Test [PG] ch. 12, 13, 14; Test Effort Estimation, Risk Planning [ST] 12, 17 Test Plan Assessment & Mitigation School of Systems and Enterprises Stevens Institute of Technology Castle Point on Hudson Hoboken, NJ 07030 COURSE OBJECTIVES: This purpose of this course is to provide the students with the following capabilities: • Develop effective test plans and test strategies throughout the system lifecycle. • Select best fit test case design methodologies • Prevent system defects and failures through appropriate early defect removal techniques such requirements walkthroughs, code reviews and integration test; • Design and implement tests and measure the results; • Measure the progress of the testing process; • Manage configurations and trouble reports; • Project the expected reliability and quality of a release; • Understand and test for limited security vulnerabilities; • Understand and use (limited) automated testing tools; • Practice learning through lab exercises & team work. DELIVERY MECHANISM: This course consists of lectures, readings, videos, quizzes, and projects. Stevens on-line system is the delivery mechanism, with the exception of lectures and in-class exercises for face-to-face courses. Copies of the lectures are posted on the on-line system. STUDENT PERFORMANCE ASSESSMENT: The course has weekly quizzes (~130 points), weekly projects (~130 points), and a final (~100 points). All are graded. GRADING AND CRITERIA FOR PASSING: Final grades will be awarded in accordance with the standard Stevens grading scale: 5/5/14 1-3 .
Recommended publications
  • Human Performance Regression Testing
    Human Performance Regression Testing Amanda Swearngin, Myra B. Cohen Bonnie E. John, Rachel K. E. Bellamy Dept. of Computer Science & Eng. IBM T. J. Watson Research Center University of Nebraska-Lincoln, USA P.O. Box 704 Lincoln, NE 68588-0115 Yorktown Heights, NY 10598, USA faswearn,[email protected] fbejohn,[email protected] Abstract—As software systems evolve, new interface features common tasks, necessitating longer mouse movements and, in such as keyboard shortcuts and toolbars are introduced. While fact, decrease efficiency. In addition, many toolbars with small it is common to regression test the new features for functional icons may add screen clutter and may decrease a new user’s correctness, there has been less focus on systematic regression testing for usability, due to the effort and time involved in human ability to discover how to accomplish a task over a simpler studies. Cognitive modeling tools such as CogTool provide some UI design. help by computing predictions of user performance, but they still Usability testing has traditionally been empirical, bringing require manual effort to describe the user interface and tasks, end-users in to a testing facility, asking them to perform tasks limiting regression testing efforts. In recent work, we developed on the system (or prototype), and measuring such things as the CogTool-Helper to reduce the effort required to generate human performance models of existing systems. We build on this work time taken to perform the task, the percentage of end-users by providing task specific test case generation and present our who can complete the task in a fixed amount of time, and vision for human performance regression testing (HPRT) that the number and type of errors made by the end-users.
    [Show full text]
  • 1. Can You Explain the PDCA Cycle and Where Testing Fits In?
    1. Can you explain the PDCA cycle and where testing fits in? Software testing is an important part of the software development process. In normal software development there are four important steps, also referred to, in short, as the PDCA (Plan, Do, Check, Act) cycle. Let's review the four steps in detail. 1. Plan: Define the goal and the plan for achieving that goal. 2. Do/Execute: Depending on the plan strategy decided during the plan stage we do execution accordingly in this phase. 3. Check: Check/Test to ensure that we are moving according to plan and are getting the desired results. 4. Act: During the check cycle, if any issues are there, then we take appropriate action accordingly and revise our plan again. So developers and other stakeholders of the project do the "planning and building," while testers do the check part of the cycle. Therefore, software testing is done in check part of the PDCA cyle. 2. What is the difference between white box, black box, and gray box testing? Black box testing is a testing strategy based solely on requirements and specifications. Black box testing requires no knowledge of internal paths, structures, or implementation of the software being tested. White box testing is a testing strategy based on internal paths, code structures, and implementation of the software being tested. White box testing generally requires detailed programming skills. There is one more type of testing called gray box testing. In this we look into the "box" being tested just long enough to understand how it has been implemented.
    [Show full text]
  • Orthogonal Array Application for Optimized Software Testing
    WSEAS TRANSACTIONS on COMPUTERS Ljubomir Lazic and Nikos Mastorakis Orthogonal Array application for optimal combination of software defect detection techniques choices LJUBOMIR LAZICa, NIKOS MASTORAKISb aTechnical Faculty, University of Novi Pazar Vuka Karadžića bb, 36300 Novi Pazar, SERBIA [email protected] http://www.np.ac.yu bMilitary Institutions of University Education, Hellenic Naval Academy Terma Hatzikyriakou, 18539, Piraeu, Greece [email protected] Abstract: - In this paper, we consider a problem that arises in black box testing: generating small test suites (i.e., sets of test cases) where the combinations that have to be covered are specified by input-output parameter relationships of a software system. That is, we only consider combinations of input parameters that affect an output parameter, and we do not assume that the input parameters have the same number of values. To solve this problem, we propose interaction testing, particularly an Orthogonal Array Testing Strategy (OATS) as a systematic, statistical way of testing pair-wise interactions. In software testing process (STP), it provides a natural mechanism for testing systems to be deployed on a variety of hardware and software configurations. The combinatorial approach to software testing uses models to generate a minimal number of test inputs so that selected combinations of input values are covered. The most common coverage criteria are two-way or pairwise coverage of value combinations, though for higher confidence three-way or higher coverage may be required. This paper presents some examples of software-system test requirements and corresponding models for applying the combinatorial approach to those test requirements. The method bridges contributions from mathematics, design of experiments, software test, and algorithms for application to usability testing.
    [Show full text]
  • Cost Justifying Usability a Case-Study at Ericsson
    Master thesis Computer science Thesis ID:MCS-2011-01 January 2011 Cost justifying usability a case-study at Ericsson Parisa Yousefi Pegah Yousefi School of Computing Blekinge Institute of Technology SE 371 39 Karlskrona Sweden 1 This thesis is submitted to the School of Computing at Blekinge Institute of Technology in partial fulfilment of the requirements for the degree of Master of Science in Computer Sci- ence. The thesis is equivalent to 20 weeks of full time studies. Contact Information: Author(s): Parisa Yousefi Address: Näktergalsvagen 5, Rödeby, 371 30 E-mail: [email protected] Pegah Yousefi Address: Drottninggatan 36, Karlskrona, 371 37 E-mail: [email protected] External advisor(s): Helen Sjelvgren Ericsson Address: Ölandsgatan 6 Karlskrona, 371 23 Phone: +46 10 7158732 University advisor(s): Dr Kari Rönkkö, Ph.D Jeff Winter Licentiate School of Computing Internet : www.bth.se/com Blekinge Institute of Technology Phone : +46 455 38 50 00 SE – 371 39 Karlskrona Fax : +46 455 38 50 57 Sweden 2 Abstract Usability in Human-computer Interaction and user- centered design is indeed a key factor, in success of any software products. However, software industries, in particular the attitude of revenue management, express a need of a economic and academic case, for justification of usability discipline. In this study we investigate the level of usability and usability issues and the gaps concerning usability activities and the potential users, in a part of charging system products in Ericsson. Also we try identifying the cost-benefit factors, usability brings to this project, in order to attempt 'justifying the cost of usability for this particular product'.
    [Show full text]
  • Flash Usability Report
    Website Tools and Applications with Flash DESIGN GUIDELINES BASED ON USER TESTING OF 46 FLASH TOOLS By Hoa Loranger, Amy Schade, and Jakob Nielsen Additional research by: Rolf Molich Kara Pernice 48105 WARM SPRINGS BLVD. FREMONT, CA 94539-7498 USA WWW.NNGROUP.COM Copyright © Nielsen Norman Group, All Rights Reserved. To get your own copy, download from: http://www.nngroup.com/reports/website-tools-and-applications-flash/ About This Free Report This report is a gift for our loyal audience of UX enthusiasts. Thank you for your support over the years. We hope this information will aid your efforts to improve user experiences for everyone. The research for this report was done in 2013, but the majority of the advice may still be applicable today, because people and principles of good design change much more slowly than computer technology does. We sometimes make older report editions available to our audience at no cost, because they still provide interesting insights. Even though these reports discuss older designs, it’s still worth remembering the lessons from mistakes made in the past. If you don’t remember history, you’ll be doomed to repeat it. We regularly publish new research reports that span a variety of web and UX related topics. These reports include thousands of actionable, illustrated user experience guidelines for creating and improving your web, mobile, and intranet sites. We sell our new reports to fund independent, unbiased usability research; we do not have investors, government funding or research grants that pay for this work. Visit our reports page at https://www.nngroup.com/reports/ to see a complete list of these reports.
    [Show full text]
  • Standard Glossary of Terms Used in Software Testing Version 3.0 Advanced Test Analyst Terms
    Standard Glossary of Terms used in Software Testing Version 3.0 Advanced Test Analyst Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. Copyright © International Software Testing Qualifications Board (hereinafter called ISTQB®). acceptance criteria Ref: IEEE 610 The exit criteria that a component or system must satisfy in order to be accepted by a user, customer, or other authorized entity. acceptance testing Ref: After IEEE 610 See Also: user acceptance testing Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system. accessibility testing Ref: Gerrard Testing to determine the ease by which users with disabilities can use a component or system. accuracy Ref: ISO 9126 See Also: functionality The capability of the software product to provide the right or agreed results or effects with the needed degree of precision. accuracy testing See Also: accuracy Testing to determine the accuracy of a software product. actor User or any other person or system that interacts with the test object in a specific way. actual result Synonyms: actual outcome The behavior produced/observed when a component or system is tested. adaptability Ref: ISO 9126 See Also: portability The capability of the software product to be adapted for different specified environments without applying actions or means other than those provided for this purpose for the software considered.
    [Show full text]
  • Remote Web Site Usability Testing - Benefits Over Traditional Methods
    REMOTE WEB SITE USABILITY TESTING - BENEFITS OVER TRADITIONAL METHODS JESSICA GARDNER Statistical Division United Nations Economic Commission for Europe (UNECE)1 Geneva, Switzerland [email protected] Abstract Web sites have become a key communication medium, and usability is an essential factor in good web site design. Usability testing is an inexpensive way to gather valuable feedback from representative users, which can help web designers and content creators make their site more usable and relevant to its audiences. This paper examines the benefits of remote online testing over more traditional face-to-face methods. Remote online testing provides access to a larger pool of potential testers, cuts out travel time, and can significantly lower the cost of usability testing. Although the benefit of face-to- face contact is lost, research shows this method is just as effective in identifying usability issues as traditional testing. The UNECE Statistical Division recently conducted tests of its current web site (www.unece.org/stats) as a basis for redesigning the site’s information architecture and establishing a benchmark for future usability studies. Tests were conducted remotely using online conferencing software, allowing testers to be truly representative of our geographically dispersed users and significantly reducing costs. Keywords: remote usability testing, usability testing, UNECE 1. Testing Web Site Usability – Why and How? Good web site design is generally achieved by maximising two factors: usability and visual appeal [Beaird, 2007]. Usability is important for anything with a user interface, whether it be a potato peeler or a computer application. Factors affecting web site usability include information architecture, navigation, jargon and terminology used, design of user-input forms, and page-layout.
    [Show full text]
  • Causal Testing: Understanding Defects’ Root Causes
    Causal Testing: Understanding Defects’ Root Causes Brittany Johnson Yuriy Brun Alexandra Meliou University of Massachusetts Amherst University of Massachusetts Amherst University of Massachusetts Amherst Amherst, MA, USA Amherst, MA, USA Amherst, MA, USA [email protected] [email protected] [email protected] ABSTRACT test input [74] and a set of test-breaking changes [73], they do not Understanding the root cause of a defect is critical to isolating and help explain why the code is faulty [40]. repairing buggy behavior. We present Causal Testing, a new method To address this shortcoming of modern debugging tools, this of root-cause analysis that relies on the theory of counterfactual paper presents Causal Testing, a novel technique for identifying root causality to identify a set of executions that likely hold key causal causes of failing executions based on the theory of counterfactual information necessary to understand and repair buggy behavior. causality. Causal Testing takes a manipulationist approach to causal Using the Defects4J benchmark, we find that Causal Testing could inference [71], modifying and executing tests to observe causal be applied to 71% of real-world defects, and for 77% of those, it can relationships and derive causal claims about the defects’ root causes. help developers identify the root cause of the defect. A controlled Given one or more failing executions, Causal Testing conducts experiment with 37 developers shows that Causal Testing improves causal experiments by modifying the existing tests to produce a participants’ ability to identify the cause of the defect from 80% of small set of executions that differ minimally from the failing ones the time with standard testing tools to 86% of the time with Causal but do not exhibit the faulty behavior.
    [Show full text]
  • The Guide to Usability Testing
    1 Cover design: Dominik Pacholczyk 2 INDEX 1. INTRODUCTION - THE IMPORTANCE OF RESEARCH AND TESTING 2. USABILITY TESTING GOALS Defining Your Usability Goals Usability Metrics Takeaway 3. CHOOSING YOUR TEST AND PARTICIPANTS Types of Test Finding Your Target Test Audience Usability Test Plan Takeaway 4. SCRIPTED TESTS Moderated vs. Unmoderated Tests Tree Testing Usability Benchmark Testing Hallway Usability Testing Takeaway 5....DECONTEXTUALIZED TESTS & HEURISTIC REVIEWS Card Sorting User Interviews Heuristics Evaluations Takeaway 6....NATURAL & NEAR-NATURAL TESTS A/B Testing First Click Testing Field and Diary Studies Eye Tracking Test 3 Beta Testing (User Acceptance Testing) Takeaway 7... HYBRID TESTS Desirability Testing Concept Testing Participatory Testing Takeaway 8....WEBSITE & MOBILE USABILITY TESTING Website Usability Testing Mobile Usability Testing Takeaway 9....ABOUT UXPIN 4 CHAPTER ONE Introduction A quick note from the authors 5 he biggest challenge designers and prod- Tuct managers face isn’t how the market or different technologies work — it’s how humans work. What users say versus what users do are two completely different things, and the only way to verify is to test. Usability testing is more than a just a checkbox on a list of product re- quirements — it is the most convincing support for your design decisions. Test early and test often. Every company and product is different, so there is no magical usability test that will tell you everything you need to know. Define your hypothesis, pick several quantitative and qualitative methods, and get ready to go out of your comfort zone. In this book, we’ll share a wide breadth of expert commentary, theories, practices, and real-life examples of usability testing.
    [Show full text]
  • Testing the Social-Mobile- Analytics-Cloud Pack: the Way Forward
    VIEW POINT TESTING THE SOCIAL-MOBILE- ANALYTICS-CLOUD PACK: THE WAY FORWARD “The whole is greater than the sum of its parts” - Aristotle This paper highlights the need for an integrated testing approach for Social-Mobile-Analytics-Cloud pack Convergence of Social Media, Mobile, Analytics, & Cloud is one of the hottest trends these days. This convergence of technologies provides opportunities for organizations to create newer products, services and customers. It is a major business agenda for a large number of organizations. The deep inroads made by these technologies are changing the enterprise technology landscape, thereby forcing organizations to rethink their strategies and increase technology investments in this direction. According to various Industry Associations, the outlook for Social-Mobile-Analytics-Cloud technologies is very bright. This throws up multiple revenue opportunities for vendors to offer related IT services, including offering the right testing services to the Social-Mobile-Analytics-Cloud pack. Testing services are witnessing growth in mobile testing, testing for cloud, social media etc., with each evolving independently. Presently, the testing of services for each element in the Social-Mobile-Analytics-Cloud pack is more silo-based. Organizations are yet to strategize for the Social-Mobile-Analytics-Cloud pack as a whole. There is a need for an integrated end-to-end testing approach. The intent of this paper is to provide a brief background on different testing techniques for each element of the Social-Mobile-Analytics-Cloud pack. It will further focus on how an integrated testing approach is important for organizations to attain a higher Return on Investment (ROI) on their Social-Mobile-Analytics-Cloud initiatives.
    [Show full text]
  • Formal Usability Testing of Interactive Educational Software: a Case Study
    Usability: Gaining a Competitive Edge IFIP World Computer Congress 2002 J. Hammond. T. Gross. J. Wesson (Eds) Published by Kluwer Academic Publishers ©IFIP.2002 Formal Usability Testing of Interactive Educational Software: A Case Study Darelle Van Greunen and Janet Wesson University ofPort Elizabeth. South Africa [email protected]. [email protected] Abstract: As the amount and variety of interactive educational software grows, so does the need to assess the usability of the software. The usability of educational software can be defined as the extent to which the software can be used to achieve specified learning outcomes effectively, efficiently and with user satisfaction. This paper discusses the evaluation of the usability of interactive educational software and proposes a method for fonnal usability testing of such software that has been successfully used at the University of Port Elizabeth (UPE). After describing the method, it presents a case study to illustrate the implementation of the proposed method. Keywords: Usability testing, usability methodology, usability, empirical evaluation. 1. INTRODUCTION The usability of educational software such as tutorial programs is closely related to how much a person learns from using the software. Usability of educational software can be defined as the extent to which the software can be used to achieve specified learning outcomes with effectiveness, efficiency and satisfaction in a specified learning context (Geisert and Futrell, 1995). In this context, effectiveness and efficiency are measures of learner performance. Satisfaction can also affect learning outcomes indirectly, as poorly motivated learners do not use educational software to the best effect (Geisert and Futrell, 1995). These performance measures are best measured by allowing learners to use the educational software.
    [Show full text]
  • Usability Engineering: Industry- Government Collaboration for System Effectiveness and Efficiency SYMPOSIUM TRANSCRIPTION
    NIST Aiiios Dflfiibfi pecial Publication 500-237 PUBLICATIONS I' ^— Information Technology: Usability Engineering: Industry- Government Collaboration for System Effectiveness and Efficiency SYMPOSIUM TRANSCRIPTION Laura L. Downey and Sharon J. Laskowski, Editors U.S. Department of Commerce Technology Administration QQ National Institute of Standards and Technology 100 U57 Nisr NO. 500-237 1997 I rhe National Institute of Standards and Technology was established in 1988 by Congress to "assist industry in the development of technology . needed to improve product quality, to modernize manufacturing processes, to ensure product reliability . and to facilitate rapid commercialization ... of products based on new scientific discoveries." NIST, originally founded as the National Bureau of Standards in 1901, works to strengthen U.S. industry's competitiveness; advance science and engineering; and improve public health, safety, and the environment. One of the agency's basic functions is to develop, maintain, and retain custody of the national standards of measurement, and provide the means and methods for comparing standards used in science, engineering, manufacturing, commerce, industry, and education with the standards adopted or recognized by the Federal Government. As an agency of the U.S. Commerce Department's Technology Administration, NIST conducts basic and applied research in the physical sciences and engineering, and develops measurement techniques, test methods, standards, and related services. The Institute does generic and precompetitive work on new and advanced technologies. NIST's research facilities are located at Gaithersburg, MD 20899, and at Boulder, CO 80303. Major technical operating units and their principal activities are listed below. For more information contact the Publications and Program Inquiries Desk, 301-975-3058.
    [Show full text]