TL;DR: This chapter discusses the development and management of Automated Testing in the Systems Engineering Environment, and the role of ATLM in that environment.
Abstract: Preface. I. WHAT IS AUTOMATED TESTING? 1. The Birth and Evolution of Automated Testing. Automated Testing. Background on Software Testing. The Automated Test Life-Cycle Methodology (ATLM). Decision to Automate Test. Test Tool Acquisition. Automated Testing Introduction Phase. Test Planning, Design, and Development. Execution and Management of Tests. Test Program Review and Assessment. ATLM's Role in the Software Testing Universe. ATLM Relationship to System Development Life Cycle. Test Maturity Model (TMM)-Augmented by Automated SoftwareTesting Maturity. Test Automation Development. Test Effort. Software Testing Careers. 2. Decision to Automate Test. Overcoming False Expectations for Automated Testing. Automatic Test Plan Generation. Test Tool Fits All. Immediate Test Effort Reduction. Immediate Schedule Reduction. Tool Ease of Use. Universal Application of Test Automation. One Hundred Percent Test Coverage. Benefits of Automated Testing. Production of a Reliable System. Improvement of the Quality of the Test Effort. Reduction of Test Effort and Minimization of Schedule. Acquiring Management Support. Test Tool Proposal. 3. Automated Test Tool Selection and Evaluation. Organization's Systems Engineering Environment. Third-Party Input from Management, Staff, and Customers andUsers. Tool Criteria Reflecting the Systems Engineering Environment. Level of Software Quality. Help Desk Problem Reports. Budget Constraints. Types of Tests. Long-Term Investment Considerations. Test Tool Process. Avoiding Shortcuts. Tools That Support the Testing Life Cycle. Business Analysis Phase Tools. Requirements Definition Phase Tools. Tools for the Analysis and Design Phase. Programming Phase Tools. Metrics Tools. Other Testing Life-Cycle Support Tools. Testing Phase Tools. Test Tool Research. Improvement Opportunities. Evaluation Domain Definition. Hands-On Tool Evaluation. Evaluation Report. License Agreement. II. INTRODUCTION OF AUTOMATED TESTING TO A PROJECT. 4. Automated Testing Introduction Process. Test Process Analysis. Process Review. Goals and Objectives of Testing. Case Study: Test Objectives and Strategies. Test Strategies. Test Tool Consideration. Review of Project-Specific System Requirements. Application-Under-Test Overview. Review of Project Schedule. Test Tool Compatibility Check. Demonstration of the Tool to the Project Team. Test Tool Support Profile. Review of Training Requirements 5. Test Team Management. Organizational Structure of a Test Team. Stovepipe Test Team. Centralized Test Team. IV&V Test Team. Systems Methodology and Test Team. Test Team Summary. Test Program Tasks. Test Effort Sizing. Test Team Sizing Methods: An Overview. Development Ratio Method. Percentage Method. Test Procedure Method. Task Planning Method. Test Effort Sizing Factors. Test Engineer Recruiting. Test Engineer Qualities. Test Team Composition. Job Requisition. Recruiting Activities. Locating Test Engineers. Test Engineer Interviews. Distinguishing the Best Candidate. Roles and Responsibilities. III. TEST PLANNING AND PREPARATION. 6. Test Planning: Smart Application of Testing. Test Planning Activities. Test Program Scope. System Description. Critical/High-Risk Functions. Test Goals, Objectives, and Strategies. Test Tools. Test Program Parameters. Verification Methods. Test Requirements Definition. Test Requirements Management. Requirements Management Tools. Assessing the Test Requirements Risk. Prioritization of Tests. Requirements Traceability Matrix. Test Program Events, Activities, and Documentation. Events. Activities. Documentation. The Test Environment. Test Environment Preparations. Test Environment Integration and Setup. The Test Plan. Test Completion/Acceptance Criteria. Sample Test Plan. 7. Test Analysis and Design. Test Requirements Analysis. Development-Level Test Analysis (Structural Approach). System-Level Test Analysis (Behavioral Approach). Test Program Design. Test Program Design Models. White-Box Techniques (Development-Level Tests). Black-Box Techniques (System-Level Tests). Test Design Documentation. Test Procedure Design. Test Procedure Definition. Automated Versus Manual Test Analysis. Automated Test Design Standards. Case Study: Naming Conventions. Manual Test Design Guidelines. Detailed Test Design. Test Data Requirements. 8. Test Development. Test Development Architecture. Technical Environment. Environment Readiness Checks. Automation Reuse Analysis. Test Procedure Development/Execution Schedule. Modularity-Relationship Analysis. Explanation of the Sample Modularity- Relationship Matrix. Calibration of the Test Tool. Compatibility Work-Around Solutions. Case Study: Incompatibility Work-Around Solution. Manual Execution of Test Procedures. Test Procedure Inspections-Peer Reviews. Test Procedure Configuration Management. Test Development Guidelines. Design-to-Development Transiftion. Reusable Test Procedures. Case Study: Navigation Using Tabs or Mouse Clicks. Case Study: Testing Bitmaps Using a Capture/Playback Tool. Maintainable Test Procedures. Case Study: Automating Documentation. Case Study: Automated Random Testing. Other Guidelines. Automation Infrastructure. Table-Driven Test Automation. PC Environment Automated Setup Script. Automated Recording Options. Login Function. Exit Function. Navigation. Verifying GUI Standards. Smoke Test. Case Study: Smoke Test Application. Error-Logging Routine. Help Function Verification Script. Timed Message Boxes Function. Advanced Math Functions. IV. TEST EXECUTION AND REVIEW. 9. Test Execution. Executing/Evaluating Test Phases. Unit Test Execution and Evaluation. Integration Test Execution and Evaluation. System Test Execution and Evaluation. Test Results Analysis of Regression Tests. User Acceptance Test Execution and Evaluation. Defect Tracking and New Build Process. Defect Life-Cycle Model. Test Program Status Tracking. Earned Value Management System. Case Study: System Test Status Tracking. Test Metrics Collection and Analysis. 10. Test Program Review and Assessment. Test Program Lessons Learned-Corrective Actions andImprovement Activity. Test Program Return on Investment. Case Study: TestProgram Return on Investment. Case Study: Quantify Tool Return on Investment. V. APPENDIXES. A. How to Test Requirements. Requirements Testing Approach. Abstract. The Quality Gateway. Make the Requirement Measurable. Quantifiable Requirements. Nonquantifiable Requirements. Keeping Track. Coherency and Consistency. Completeness. Relevance. Requirement or Solution? Stakeholder Value. Traceability. Order in a Disorderly World. Conclusions. References. B. Tools That Support the Automated Testing Life Cycle. Introduction. Business Analysis Phase. Business Modeling Tools. Configuration Management Tools. Defect Tracking Tools. Technical Review Management. Documentation Generators. Requirements Definition Phase. Requirements Management Tools. Requirements Verifiers. Use Case Generators. Analysis and Design Phase. Visual Modeling Tools. Structure Charts, Flowcharts, and Sequence Diagrams. Test Procedure Generators. Programming Phase. Syntax Checkers/Debuggers. Memory Leak and Runtime Error Detection Tools. Code Checkers. Static and Dynamic Analyzers. Unit Testing Tools. Metrics Tools. Code (Test) Coverage Analyzers and Code Instrumentors. Usability Measurement Tools. Testing Support Tools. Test Data Generators. File Comparison Tools. Simulation Tools. Testing Phase. Test Management Tools. Network Testing Tools. GUI Application Testing Tools. Load/Performance Testing Tools. Web Testing Tools. Year 24710 Testing Tools. Other Test Tool Vendors. C. Test Engineer Development. Technical Skills Stage. Test Process Stage. Team Effort Stage. Technical Stewardship Stage. Test/Project Management Stage. Business/Product Management Stage. D. Sample Test Plan. Introduction. Purpose. Background. System Overview. Applicable Documents. Master Schedule. Roles and Responsibilities. Project Organization. Project Roles and Responsibilities. Test Task Structure. Test Team Resources. Test Program. Scope. Test Approach. Test Strategies. Automated Tools. Qualification Methods. Test Requirements. Test Design. Test Development. Test Environment. Test Environment Configuration. Test Data. Test Execution. Test Program Reporting. Test Program Metrics. Defect Tracking. Configuration Management. Detailed Test Schedule. Appendixes. D.A Test Procedure Development Guidelines. D.B Test Verification Summary and Matrix. D.C Test Procedures and Test Scripts E. Best Practices. Documented Process. Managing Expectations. Pilot Project. Test Tool Compatibility Checks. Test Tool Upgrades. Baselined System Setup and Configuration. Software Installations in the Test Environment Baseline. Overall Test Program Objectives. Keep Automation Simple. Test Procedure Design and Development Standards. Automated Versus Manual Test Analysis. Reuse Analysis. Test Team Communication with Other Teams. Schedule Compatibility. Customer Involvement. Defect Documentation and Reporting. Automated Test Advocates and Experts. Test Team Assignments. User Group Participation. Test Tool Improvement Suggestions. Become a Beta Testing Site. Specialty Topic Experts. 0201432870T04062001
TL;DR: In this article, the authors proposed a Radio Frequency Identification (RFID)-based quality management system, which functions as a platform for gathering, filtering, managing, monitoring and sharing quality data.
TL;DR: This report addresses some of the observations made in a dozen of projects in the area of software testing, and more specifically, in automated testing, covering test strategy, testability, daily integration, and best practices.
Abstract: This report addresses some of our observations made in a dozen of projects in the area of software testing, and more specifically, in automated testing. It documents, analyzes and consolidates what we consider to be of interest to the community. The major findings can be summarized in a number of lessons learned, covering test strategy, testability, daily integration, and best practices. The report starts with a brief description of five sample projects. Then, we discuss our observations and experiences and illustrate them with the sample projects. The report concludes with a synopsis of these experiences and with suggestions for future test automation endeavors.
TL;DR: Cem Kaner, James Bach, and Bret Pettichord reveal insights on how to do the job well, how to manage it, and how to steer clear of common misunderstandings in software testing in this groundbreaking new book.
Abstract: From the Publisher:
Great software testing teams arent born, theyre madethrough a lot of hard work and persuasive communication Along the way, there is an abundance of traps that one can fall into, which can derail the best-laid plans and put your projects behind schedule
Cem Kaner, James Bach, and Bret Pettichord know this all too well Between them, they have over fifty years of testing experience, and know what it takes for successful testing In this groundbreaking new book, they have compiled 293 pieces of experience-tested advice for you to put to work in your testing projects They reveal insights on how to do the job well, how to manage it, and how to steer clear of common misunderstandings in software testing Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson
The ultimate resource for software testers, developers, and managers at every level of expertise, this guidebook also features:
Useful practices and helpful ways of evaluating situations gleaned from over fifty years of combined testing experience from the worlds leading software testing experts Lessons for all key topic areas including test design, test automation, test management, testing strategies, and bug reporting Advice on how to match the selection of practices to the circumstances of your project
Wiley Computer Publishing
Timely Practical Reliable
Author Biography: CEM KANER, JD, PhD, is a professor of computer sciences at Florida Institute of Technology He also consults on technical and management issues, and practices law within the software development community He is the lead author of two books, Testing Computer Software and Bad Software (both from Wiley)
JAMES BACH is founder and principal consultant of Satisfice, Inc, a software testing and quality assurance company His experience with competitive software development in leading Silicon Valley companies, such as Apple and Borland, led him to specialize in such aspects of the craft as "good enough" quality, risk-based testing, exploratory testing, and other techniques that require skill and judgment He has also served as Chief Scientist at Software Testing Labs
BRET PETTICHORD works as an independent consultant and edits the popular Software Testing Hotlist A frequent speaker and writer, he is also the founder of the Austin Workshop on Test Automation
TL;DR: In this paper, a test management module can monitor the execution of test software on the set of virtual test beds, to detect execution faults, measure processing performance, stress-test the software with predetermined data inputs, and manage other aspects of software life cycle development.
Abstract: Embodiments relate to systems and methods for testing and evaluating software in the network cloud. A developer or other operator may wish to debug, modify, or update a set of test software based on testing of that software. The developer can instantiate a set of virtual servers or other test beds in the cloud, and install the subject software to the virtual test beds. A test management module can monitor the execution of the set of test software on the set of virtual test beds, to detect execution faults, measure processing performance, stress-test the software with predetermined data inputs, and manage other aspects of software life cycle development. The test management module can provide or access a set of application programming interfaces to a set of software tools external to the cloud, so that the set of test software can be tested and optimized using external programming development tools.