THE FUTURE CONTENTS. Software Testing

Similar documents
WORKING WITH TEST DOCUMENTATION

Drive Predictability with Visual Studio Team System 2008

Types of Process Methodologies

developer.* The Independent Magazine for Software Professionals Automating Software Development Processes by Tim Kitchens

Testing Masters Technologies

HOW YOUR CAREER BACKGROUND CAN HELP YOU BECOME A BUSINESS ANALYST

Implementing an Automated Testing Program

32 BETTER SOFTWARE JULY/AUGUST 2009

Chapter 6. Software Quality Management & Estimation

Everything You Need to Know About the BSIMM. Answers to Your Most Frequently Asked Questions. by BSIMM expert Sammy Migues

Spotlight on Success. July Brendan Howe

COACHING USING THE DISC REPORT

Applying the Personal Software Process (PSP) sm with Ada

T Software Testing and Quality Assurance Test Planning

SWEN 256 Software Process & Project Management

QUANTIFIED THE IMPACT OF AGILE. Double your productivity. Improve Quality by 250% Balance your team performance. Cut Time to Market in half

The Capability Maturity Model

Capacity Management Maturity Assessing and Improving the Effectiveness

Introduction to the Testing Maturity Model Enhanced TM (TMMe)

Information Technology Project Management Fifth Edition

CITS5501 Software Testing and Quality Assurance Standards and quality control systems

1. Can you explain the PDCA cycle and where testing fits in?

The Impact of Agile. Quantified.

Everything you need to know about the BSIMM. Answers to your most frequently asked questions. by BSIMM expert Sammy Migues

THE 7 KEYS TO HELP YOU FIND THE Right MARKETING TEAM

Software Quality Management

of Your QA Organization Michael Hoffman 19 October 2010 PNSQC 2010

Practical Process Improvement: the Journey and Benefits

R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

Quality Systems Frameworks. RIT Software Engineering

Software Quality Management

Workshop #4: Workplace Job Skills (hard skills or job specific skills)

Lesson 3 Workplace Job Skills (hard skills or job specific skills)

Integration and Testing

Participation of Testing to Attain a Degree of Quality of Software

Recruitment and selection toolkit. Guide to recruitment advertising

Appendix C: MS Project Software Development Plan and Excel Budget.

Capability Maturity Model for Software (SW-CMM )

White Paper. Selecting Enterprise Software

The Components of the SW Quality Assurance System - Overview. 08/09/2006 SE7161 Software Quality Assurance Slide 1

Top auditors at Cisco, Google, and LinkedIn employ innovative practices to meet the demands of their clients ever-changing environments.

A toolkit for job-seekers to help you compare occupations and find the best fit for you.

IT Service Management

How mature is my test organization: STDM, an assessment tool

organize, automate & grow your life

Software Quality Assurance and Testing STUDY NOTES

5 top questions for finding the best construction accounting software BY FOUNDATION SOFTWARE

Project Management Communication Tools. By William Dow, PMP & Bruce Taylor

PMP Practice Questions

Subject : Computer Science. Paper : Software Quality Management. Module : Quality Management Activities Module No: CS/SQM/15

By: MSMZ. Standardization

CLOSING THE GAPS IN. COMPLIANCE A Concur Global Community Report on T&E audit best practices.

Software Testing Life Cycle

12 Simple Steps to Perfect Accuracy for Order Picking & Packing

AS9003A QUALITY MANUAL

NEW! What to Expect for the Needs Assessment, Planning, Analysis, Traceability and Monitoring, and Evaluation Domains

onesource tax provision

Cambridge University Press Agile Testing: How to Succeed in an Extreme Testing Environment John Watkins Excerpt More information

10 Things You Should Do Before You Validate Your Next Package

WHITEPAPER: PROCESS VALIDATION A SYSTEMATIC APPROACH

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

Top 20 SDET Interview Questions & Answers

PROJECT MANAGEMENT OVERVIEW

At This Education Nonprofit, A Is for Analytics Social services agencies are turning to data to find the practices that get the best results.

CALCULATING THE ROI OF LEAD NURTURING

PROCESS VALIDATION. A Systematic Approach 2015 WHITE PAPER WHITE PAPER PRODUCED BY MAETRICS

Nitty Gritty of QA Project Management. 11-Feb-09 Carol Perletz

4180: Defined Processes, Evidence, and Rescuing Corporate Knowledge: Achieving Standards Compliance in Agile and Lean Environments

A Review Paper on Software Testing

Putting non-service employees on the phones

Geointeresting Podcast Transcript Episode 6: Sue Shumate, NGA s Talent Acquisition Lead Sept. 21, 2015

THE ULTIMATE CAREER FAIR CHECKLIST FOR EMPLOYERS

ISTQB CTFL BH QuestionsAnswers with Explanation

15 tips for managing negative reviews and difficult feedback. Wake up to Booking.yeah

XpertHR Podcast. Original XpertHR podcast: 22 September 2017

Belatrix Software Factory

Capability Maturity Model the most extensively used model in the software establishments

Technische Universität München. Software Quality. Management. Dr. Stefan Wagner Technische Universität München. Garching 18 June 2010

Using Pilots to Assess the Value and Approach of CMMI Implementation

Moving to the Cloud: What They Don t Tell You ARTICLE. Human Focused. Technology Solutions.

Software Testing(TYIT) Software Testing. Who does Testing?

WG2 BUILDING A RESPONSIVE TESTING TEAM. Jack Cook Qwest Communications International, Inc. Presentation Paper Bio Return to Main Menu

HOW TO WHY DIFFERENTIATION IS KEY TO SURVIVAL OF THE FITTEST. By Tony Pazzaglia, PT, DPT*

MERCURY CUSTOMER PERSPECTIVE WHITE PAPER: USING MERCURY TESTDIRECTOR TO DEVELOP A SOFTWARE DEFECT REPORTING AND RESOLUTION PROCESS

Benchmarking Functional Verification by Mike Bartley and Mike Benjamin, Test and Verification Solutions

9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1

THE BEGINNER S GUIDE TO CHURCH AUTOMATION

ISO 9001:2000 Drives Process Changes at Siemens

IE 361 Mini Paper Fall 2000 ISO Dr. Vardeman. Conducted by: Wempie Kumala Vera Oh Ai-Sze Chiam

Webinar Wealth. Webinar Template

Five Interview Phases To Identify The Best Software Developers

Definitive Guide for Better Pricing. Build a solid pricing foundation that will help you create consistent sales and profit growth.

Software verification and validation. Introduction

How to Hire a VA (Virtual Assistant) -List Processing -Running GIS Software -Initial Scanning of GIS Photos

Estimating the Cost of Enterprise Software System Implementations: It s Often Buyer Beware. White Paper. Ben Harrison, MAVERICK Technologies

» Discovering Potential, Optimizing Performance.

How to Sell High End Web Services to Desperate Buyers Even Without Having to Do the Work! By Brian Koz and Shawn Casey

Tips on the Resume Creation Process

1.264 Lecture 5 System Process: CMMI, ISO

Lesson 4: Continuous Feedback

Transcription:

THE FUTURE CONTENTS I. Software Quality Assurance: 1. Quality is Free 2. Testing and Quality Assurance in the Workplace 3. Software Testing 4. Quality Assurance 5. Other Names for Software Testing Groups 6. Test Management and Organizational Structures 7. Capability Maturity Model (CMM) 8. ISO 90000 II. Your Career as a Software Tester: 1. Your Job as a Software Tester 2. Finding Software Testing Position 3. Gaining Hands-on Experience 4. Internet Links 5. Professional Organizations

I. Software Quality Assurance: (Question: Explain the SQA in software testing = 4 marks) 1. Quality is Free 1. The cost of quality into two categories: the costs of conformance and the costs of nonconformance. 2. The costs of conformance are all the costs associated with planning and running tests just one time, to make sure that the software does what it s intended to do. 3. If bugs are found and you must spend time isolating, reporting, and regression testing them to assure that they re fixed, the costs of nonconformance go up. 4. These costs, because they are found before the product is released, are classified as internal failures and fall mostly on the left side of Figure 1. Figure 1 5. If bugs are missed and make it through to the customers, the result will be costly product support calls, possibly fixing, retesting, and releasing the software, and in a worst-case scenario a product recall or lawsuits. 6. The costs to address these external failures fall under the costs of nonconformance and are the ones on the right side. 2. Testing and Quality Assurance in the Workplace 1. Testing, Software Quality Assurance, Software Quality Control, Software Verification and Validation, Software Integration and Test, or one of many others. 2. Frequently these names are used interchangeably or one is chosen over the others because it sounds more official Software Quality Assurance Engineer versus Software Tester, for example.

3. It s important to realize, though, that these names have deeper meanings and aren t necessarily plug-in replacements for each other. 4. On one hand there s the philosophy that it s only a name, that what you ultimately do in your job is what counts. 5. On the other hand, your job title or your group s name is what others on the project team see. 6. That label indicates to them how they will work with you and what expectations they will have, what deliverables you will provide to them, and what they will give to you. 7. The following sections define a few of the common software-testgroup names and should help clarify the differences among them. 3. Software Testing 1. The goal of a software tester is to find bugs, find them as early as possible, and make sure they get fixed. Being a software tester and working under this charter has a unique and very important characteristic. 2. You aren t responsible for the quality of the software! This may sound strange, but it s true. 3. You didn t put the bugs in the software, you had your project manager and the programmers review and approve your test plan, you executed your plan to the letter and despite all that effort, the software still had bugs. It s not your fault! 4. Quality Assurance 1. A Software Quality Assurance person s main responsibility is to examine and measure. 2. The current software development process and find ways to improve it with a goal of preventing bugs from ever occurring. 5. Other Names for Software Testing Groups 1. Depending on where you work, your test group may use one of many other names to identify itself. Software Quality Control (SQC) is one that s frequently used. 2. This name stems from the manufacturing industry where QC inspectors sample products taken off the manufacturing line, test them, and, if they fail, have the authority to shut down the line or the entire factory. 3. Few, if any, software test groups have this authority even ones that call themselves Software QC. Software Verification and Validation is also commonly used to describe a software test organization. 4. This name is one that actually works pretty well. Although it s a bit wordy, it states exactly what the test group is responsible for. 5. It s even possible to have two groups, one for verification and one for validation.

6. Test Management and Organizational Structures 1. Besides a test group s name and its assumed responsibilities, there s another attribute that greatly affects what it does and how it works with the project team. 2. That attribute is where it fits in the company s overall management structure. 3. A number of organizational structures are possible, each having its own positives and negatives. 4. Some are claimed to be generally better than others, but what s better for one may not necessarily be better for another. 5. If you work for any length of time in software testing, you ll be exposed to many of them. 6. Here are a few common examples. Figure 2 In this organization, the teams responsible for software quality report directly to senior management, independent and on equal reporting levels to the individual projects. The level of authority is often at the quality assurance level, not just the testing level. The independence that this group holds allows them to set standards and guidelines, measure the results, and adopt processes that span multiple projects. Information regarding poor quality (and good quality) goes straight to the top.

Figure 3 7. Capability Maturity Model (CMM) (Question: Explain the concept of CMM with diagram explain its levels = 8 marks) 1. The Capability Maturity Model for Software (CMM or SW-CMM) is an industrystandard model for defining and measuring the maturity of a software company s development process and for providing direction on what they can do to improve their software quality. 2. It was developed by the software development community along with the Software Engineering Institute (SEI) and Carnegie Mellon University, under direction of the U.S. Department of Defense. Figure 4

3. If you take the entire universe of software companies today, most are at Maturity Level 1, many are at Maturity Level 2, a few are at Maturity Level 3, a handful are at Maturity Level 4, and an elite couple are at Maturity Level 5. Here are descriptions of the five CMM Maturity Levels: Level 1: Initial: The software development processes at this level are ad hoc and often chaotic. The project s success depends on heroes and luck. There are no general practices for planning, monitoring, or controlling the process. It s impossible to predict the time and cost to develop the software. The test process is just as ad hoc as the rest of the process. Level 2: Repeatable: This maturity level is best described as project-level thinking. Basic project management processes are in place to track the cost, schedule, functionality, and quality of the project. Lessons learned from previous similar projects are applied. There s a sense of discipline. Basic software testing practices, such as test plans and test cases, are used. Level 3: Defined: Organizational, not just project specific, thinking comes into play at this level. Common management and engineering activities are standardized and documented. These standards are adapted and approved for use on different projects. The rules aren t thrown out when things get stressful. Test documents and plans are reviewed and approved before testing begins. The test group is independent from the developers. The test results are used to determine when the software is ready. Level 4: Managed: At this maturity level, the organization s process is under statistical control. Product quality is specified quantitatively beforehand (for example, this product won t release until it has fewer than 0.5 defects per 1,000 lines of code) and the software isn t released until that goal is met. Details of the development process and the software s quality are collected over the project s development, and adjustments are made to correct deviations and to keep the project on plan. Level 5: Optimizing: This level is called Optimizing(not optimized ) because it s continually improving from Level 4. New technologies and processes are attempted, the results are measured, and both incremental and revolutionary changes are instituted to achieve even better quality levels. Just when everyone thinks the best has been obtained, the crank is turned one more time, and the next level of improvement is obtained. 8. ISO 9000 (Question: Explain the ISO 9000 standard and give reasons why it works well. = 4 marks) 1. Another popular set of standards related to software quality is the International Organization for Standardization s (ISO) 9000. 2. ISO is an international standards organization that sets standards for everything from nuts and bolts to, in the case of ISO 9000, quality management and quality assurance.

ISO 9000 works well for the following reasons: 1. It targets the development process, not the product. 2. It s concerned about the way an organization goes about its work, not the results of the work. 3. ISO 9000 dictates only what the process requirements are, not how they are to be achieved. 4. Performing design reviews is a good exercise that a responsible design team should do (which is why it s in ISO 9000), but exactly how the design review is to be organized and run is up to the individual team creating the product. 5. ISO 9000 tells you what to do but not how to do it. Some of the requirements in ISO 9000-3 include 1. Develop detailed quality plans and procedures to control configuration management, product verification and validation (testing), nonconformance (bugs), and corrective actions (fixes). 2. Prepare and receive approval for a software development plan that includes a definition of the project, a list of the project s objectives, a project schedule, a product specification, a description of how the project is organized, a discussion of risks and assumptions, and strategies for controlling it. II. Your Career as a Software Tester: 1. Your Job as a Software Tester (Question: Explain the various jobs of a software tester? = 4 marks) 1. Software test technician:- This is often a true entry-level test position. You would be responsible for setting up test hardware and software configurations, running simple test scripts or test automation, and possibly working with beta sites to isolate and reproduce bugs. Some work can become mundane and repetitive, but being a test technician is a good way to become introduced to software testing. 2. Software tester or software test engineer: - Most companies have several levels of software testers based on experience and expertise. An entry-level tester may perform the duties of technician, working their way up to running more advanced and complex tests. As you progress, you ll write your own test cases and test procedures and might attend design and specification reviews. You ll perform testing and isolate, reproduce, and report the bugs you find. If you have programming abilities, you ll write test automation or testing tools and work closely with the programmers as you perform white-box testing. 3. Software test lead: - A test lead is responsible for the testing of a major portion of a software project or sometimes an entire small project. They often generate the test plan for their areas and oversee the testing performed by other testers. They re frequently involved in collecting metrics for their products and presenting them to management. They usually also perform the duties of a software tester.

4. Software test manager: - A test manager oversees the testing for an entire project or multiple projects. The test leads report to them. They work with the project managers and development managers to set schedules, priorities, and goals. They re responsible for providing the appropriate testing resources people, equipment, space, and so on for their projects. They set the tone and strategy for the testing their teams perform. 2. Finding Software Testing Position 1. Use the Internet, a quick search done using several job search engines just before this book went to print found more than 1,000 open software testing positions at companies all around the country. Many of these positions were for entry-level testers. 2. There were jobs testing music software, interactive TV, networking, medical equipment, Web sites, and more. You name it. 3. Look through newspapers and magazines, as with the Internet, most large city newspapers list numerous software testing jobs every weekend in their hightech or computer help wanted ads. Computing and programming magazines are also a good source for job ads. 4. Simply call and ask. Do you like a certain technology or a specific software application, or are you interested in a particular area of computing? Look up the company or companies writing that software, give them a call or send them your résumé. Often there are open software testing jobs that never make it to the help wanted ads. 5. Resourceful testers grab them before anyone knows they re available. 6. Look into internships and co-ops.if you re in college, take a summer or a semester as an intern or co-op at a software company as a software tester. Most provide great positions where you ll actually be contributing to the success of a real product as you gain experience in the field. If you work hard, you might be offered a full-time position after you graduate. 7. Take temporary jobs, many software companies hire software testers under temporary contracts to help run test scripts as a product nears completion. The jobs may last just one month or several months, but you ll gain valuable experience and can take on more difficult jobs each time, learning as you go. Some software testers love to work this way because it gives them the opportunity to work at different companies and try their hand testing very different software. 3. Gaining Hands-on Experience 1. Software testing is just like most other computer topics you can read about it all day, but until you actually try the things you ve read about, it s difficult to comprehend. 2. For this reason, one of the best ways to learn software testing is to try it yourself, on your own computer with your own software.

4. Internet Links The Internet has a wealth of material on software testing. Web sites dedicated to software testing and software bugs that will get you started: 1. BugNet (www.bugnet.com) publicizes bugs found in commercial software and points you to the appropriate fixes. 2. Software Testing Hotlist (www.io.com/~wazmo/qa) lists dozens of pointers to software testing related Web sites and articles. 3. Software Testing Online Resources (www.mtsu.edu/~storm) is the selfproclaimed nexus of Software Testing Online Resources designed to be a first-stop on the Web for software testing researchers and practitioners. 4. QA Forums (www.qaforums.com) provide ongoing discussions of software testing, automated testing, test management, test tools, and many other topics. 5. The newsgroup comp.software.testingand its FAQ (frequently asked questions) document at www.faqs.org/faqs/software-eng/testing-faqprovide lots of ongoing discussions by testers and test managers regarding tools, techniques, and projects. 6. The newsgroup comp.risksdescribes and analyzes recent software failures. 7. The Risks Digest (catless.ncl.ac.uk/risks/) is a forum on risks to the public in computers and related systems. 5. Professional Organizations 1. The American Society for Quality (ASQ) at www.asq.organd its software division at www.asq-software.orgsponsor the National Quality Forum annually in October (national quality month). They publish journals and articles on quality and administer the Certified Quality Engineer (CQE) and the Certified Software Quality Engineer (CSQE) designation. 2. The Association of Computing Machinery (ACM) at www.acm.organd its Special Interest Group on Software Engineering (SIGSOFT) at www.acm.org/sigsofthas more than 80,000 members in educational and scientific computing. The software engineering