certified software quality engineer-body of language

Upload: gunaseelank

Post on 09-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Certified Software Quality Engineer-Body of Language

    1/5

    CERTIFIEDSOFTWAREQUALITYENGINEER

    Certified Software Quality Engineer

    Quality excellence to enhance your careerand boost your organizations bottom line

    Information

    Certification from ASQ is considered a mark of quality excellence inmany industries. It helps you advance your career, and boosts yourorganizations bottom line through your mastery of quality skills.Becoming certified as a Software Quality Engineer confirms yourcommitment to quality and the positive impact it will have on yourorganization.

    he Certified Software Quality Engineer understands software quality development andmplementation, software inspection, testing, verification and validation; and implementsoftware development and maintenance processes and methods.

    Certified Software Quality Engineer

    xaminationach certification candidate is required to pass a

    written examination that consists of multiple choiceuestions that measure comprehension of the Bodyf Knowledge. The Software Quality Engineerxamination is a one-part, 160-question, four-hourxam and is offered in English only.

    ducation and/or Experienceou must have eight years of on-the-job experience

    n one or more of the areas of the Certified SoftwareQuality Engineer Body of Knowledge. A minimum ofhree years of this experience must be in a decision-making position. (Decision-making is defined ashe authority to define, execute, or control projects/rocesses and to be responsible for the outcome.his may or may not include management orupervisory positions.)

    If youve ever been certified by ASQ as a QualityEngineer, Quality Auditor, Reliability Engineer, or

    Manager, experience used to qualify for certificationin these fields applies to certification as a SoftwareQuality Engineer.

    If you have completed a degree from a college,university, or technical school with accreditationaccepted by ASQ, part of the eight-year experiencerequirement will be waived, as follows (only one ofthese waivers may be claimed):

    Diploma from a technical or trade school one yearwill be waived

    Associate degree two years waived

    Bachelors degreefour years waived

    Masters or doctoratefive years waived

    Degrees or diplomas from educational institutionsoutside the United States must be equivalent to degrees

    from U.S. educational institutions.

    Minimum Expectations for a Certified

    Software Quality Engineer Must possess a fundamental understanding of qphilosophies, principles, methods, tools, standaorganizational and team dynamics, interpersonrelationships, professional ethics, and legal andregulatory requirements.

    Must evaluate the impact of software qualitymanagement principles on business objectives andemonstrate comprehensive knowledge of develoand implementing software quality programs, whinclude tracking, analyzing, reporting, problemresolution, process improvement, training, andsupplier management. Must have a basicunderstanding of how and when to perform softwaudits including audit planning, approaches, typanalyses, reporting results, and follow-up.

  • 8/8/2019 Certified Software Quality Engineer-Body of Language

    2/5

    General Knowledge (16 questions)A. Quality principles

    1. Benefits of software qualityDescribe the benefits that software qualityengineering can have at the organizationallevel. (Understand)

    2. Organizational and process benchmarkingUse benchmarking at the organizational,process, and project levels to identify andimplement best practices. (Apply)

    . Ethical and legal compliance1. ASQ Code of Ethics

    Determine appropriate behavior in situations

    requiring ethical decisions, includingidentifying conflicts of interest, recognizingand resolving ethical issues, etc. (Evaluate)

    2. Legal and regulatory issuesDefine and describe the impact that issuessuch as copyright, intellectual property rights,product liability, data privacy, the Sarbanes-Oxley Act, etc., can have on softwaredevelopment. (Understand)

    . Standards and modelsDefine and describe the following standards andassessment models: ISO 9000 standards, IEEEsoftware standards, and the SEI CapabilityMaturity Model Integrated (CMMI). (Understand)

    . Leadership skills1. Organizational leadership

    Use leadership tools and techniques, suchas organizational change management,knowledge-transfer, motivation, mentoringand coaching, recognition, etc. (Apply)

    2. Facilitation skillsUse various approaches to manage andresolve conflict. Use negotiation techniquesand identify possible outcomes. Use meetingmanagement tools to maximize performance.(Apply)

    3. Communication skillsUse various communication elements (e.g.,interviewing and listening skills) in oral,

    written, and presentation formats. Use various

    techniques for working in multicultural

    environments, and identify and describe theimpact that culture and communications canhave on quality. (Apply)

    E. Team skills1. Team management

    Use various team management skills, includingassigning roles and responsibilities, identifyingthe classic stages of team development(forming, storming, norming, performing,adjourning), monitoring and responding togroup dynamics, and working with diversegroups and in distributed work environments.(Apply)

    2. Team toolsUse decision-making and creativity tools, suchas brainstorming, nominal group technique(NGT), multivoting, etc. (Apply)

    II Software Quality Management(26 questions)

    A. Quality management system1. Quality goals and objectives

    Design quality goals and objectives forprograms, projects, and products that areconsistent with business objectives. Developand use documents and processes necessaryto support software quality managementsystems. (Create)

    2. Customers and other stakeholdersDescribe and distinguish between variousstakeholder groups, and analyze the effecttheir requirements can have on softwareprojects and products. (Analyze)

    3. PlanningDesign program plans that will support softwarequality goals and objectives. (Evaluate)

    4. OutsourcingDetermine the impact that acquisitions,multisupplier partnerships, outsourcedservices, and other external drivers can haveon organizational goals and objectives, anddesign appropriate criteria for evaluatingsuppliers and subcontractors. (Analyze)

    B. Methodologies1. Cost of quality (COQ)

    Analyze COQ categories (prevention,appraisal, internal failure, external failurand their impact on products and proces(Evaluate)

    2. Process improvement modelsDefine and describe elements of lean tooand the Six Sigma methodology, and useplan-do-check-act (PDCA) model for proimprovement. (Apply)

    3. Corrective action proceduresEvaluate corrective action procedures rel

    to software defects, process nonconformaand other quality system deficiencies. (Eva

    4. Defect preventionDesign and use defect prevention processuch as technical reviews, software tools technology, special training, etc. (Evaluat

    C. Audits1. Audit types

    Define and distinguish between various atypes, including process, compliance, supsystem, etc. (Understand)

    2. Audit roles and responsibilitiesIdentify roles and responsibilities for audparticipants: client, lead auditor, audit temembers, and auditee. (Understand)

    3. Audit processDefine and describe the steps in conductan audit, developing and delivering an areport, and determining appropriate folloactivities. (Apply)

    III Systems and Software EngineeringProcesses (27 questions)

    A. Lifecycles and process modelsEvaluate various software development lifec(iterative, waterfall, etc.) and process mod(V-model, Feature Driven Development, TeDriven Development, etc.) and identify thebenefits and when they should be used.(Evaluate)

    he topics in this Body of Knowledge include additional detail in the form of subtextxplanations and the cognitive level at which the questions will be written. This information

    will provide useful guidance for both the Examination Development Committee and theandidates preparing to take the exam. The subtext is not intended to limit the subject

    matter or be all-inclusive of what might be covered in an exam. It is intended to clarifyhe type of content to be included in the exam. The descriptor in parentheses at the endf each entry refers to the highest cognitive level at which the topic will be tested. A moreomprehensive description of cognitive levels is provided at the end of this document.

    Body of KnowledgeCertified Software Quality Engineer

    Must understand systems architecture and be able toimplement software development and maintenanceprocesses, quantify the fundamental problems andrisks associated with various software developmentmethodologies, and assess, support, and implementprocess and technology changes.

    Must be able to apply project management principlesand techniques as they relate to software projectplanning, implementation, and tracking. Must beable to evaluate and manage risk.

    Must select, define, and apply product and processmetrics and analytical techniques, and have anunderstanding of measurement theory and how tocommunicate results.

    Must have a thorough understanding of verificationand validation processes, including early softwaredefect detection and removal, inspection, andtesting methods (e.g., types, levels, strategies, tools,and documentation). Must be able to analyze teststrategies, develop test plans and executiondocuments, and review customer deliverables.

    Must have a basic understanding of configuratmanagement processes, including planning,configuration identification, configuration contrchange management, status accounting, auditiand reporting. Must assess the effectiveness ofproduct release and archival processes.

    For comprehensive exam information onSoftware Quality Engineer certification, visitwww.asq.org/certification.

  • 8/8/2019 Certified Software Quality Engineer-Body of Language

    3/5

    . Systems architectureIdentify and describe various architectures,including embedded systems, client-server, n-tier,

    Web, wireless, messaging, collaborationplatforms, etc., and analyze their impact onquality. (Analyze)

    . Requirements engineering1. Requirements types

    Define and describe various types ofrequirements, including feature, function,system, quality, security, safety, regulatory, etc.(Understand)

    2. Requirements elicitationDescribe and use various elicitation methods,including customer needs analysis, use cases,human factors studies, usability prototypes,joint application development (JAD),storyboards, etc. (Apply)

    3. Requirements analysisIdentify and use tools such as data flowdiagrams (DFDs), entity relationship diagrams(ERDs), etc., to analyze requirements.(Apply)

    . Requirements management1. Participants

    Identify various participants who have a rolein requirements planning, including customers,developers, testers, the quality function,management, etc. (Understand)

    2. Requirements evaluationAssess the completeness, consistency,correctness, and testability of requirements,and determine their priority. (Evaluate)

    3. Requirements change managementAssess the impact that changes torequirements will have on softwaredevelopment processes for all types of lifecyclemodels. (Evaluate)

    4. Bidirectional traceabilityUse various tools and techniques to ensurebidirectional traceability from requirementselicitation and analysis through design andtesting. (Apply)

    . Software analysis, design, and development1. Design methods

    Identify the steps used in software design andtheir functions, and define and distinguishbetween software design methods such asobject-oriented analysis and design (OOAD),structured analysis and design (SAD), andpatterns. (Understand)

    2. Quality attributes and designAnalyze the impact that quality-relatedelements (safety, security, reliability, usability,reusability, maintainability, etc.) can have onsoftware design. (Analyze)

    3. Software reuseDefine and distinguish between softwarereuse, reengineering, and reverseengineering, and describe the impact thesepractices can have on software quality.(Understand)

    4. Software development toolsSelect the appropriate development tools touse for modeling, code analysis, etc., andanalyze the impact they can have onrequirements management anddocumentation. (Analyze)

    5. Software development methodsDefine and describe principles such as pairprogramming, extreme programming,cleanroom, formal methods, etc., and theirimpact on software quality. (Understand)

    F. Maintenance management1. Maintenance types

    Describe the characteristics of corrective,adaptive, perfective, and preventivemaintenance types. (Understand)

    2. Maintenance strategy

    Describe various factors affecting the strategyfor software maintenance, including service-level agreements (SLAs), short- and long-termcosts, maintenance releases, productdiscontinuance, etc., and their impact onsoftware quality. (Understand)

    IV Project Management (24 questions)A. Planning, scheduling, and deployment

    1. Project planningUse forecasts, resources, schedules, task andcost estimates, etc., to develop project plans.(Apply)

    2. Project schedulingUse PERT charts, critical path method (CPM),

    work breakdown structure (WBS), Scrum,burn-down charts, and other tools to scheduleand monitor projects. (Apply)

    3. Project deploymentUse various tools, including milestones,objectives achieved, task duration, etc., to setgoals and deploy the project. (Apply)

    B. Tracking and controlling1. Phase transition control

    Use phase transition control tools andtechniques such as entry/exit criteria, qualitygates, Gantt charts, integrated masterschedules, etc. (Apply)

    2. Tracking methods

    Calculate project-related costs, including earnedvalue, deliverables, productivity, etc., and trackthe results against project baselines. (Apply)

    3. Project reviewsUse various types of project reviews such asphase-end, management, and retrospectivesor post-project reviews to assess projectperformance and status, to review issues andrisks, and to discover and capture lessonslearned from the project. (Apply)

    4. Program reviewsDefine and describe various methods forreviewing and assessing programs in terms oftheir performance, technical accomplishments,

    resource utilization, etc. (Understand)

    C. Risk management1. Risk management methods

    Use risk management techniques (assess,prevent, mitigate, transfer) to evaluate projectrisks. (Evaluate)

    2. Software security risksEvaluate risks specific to software security,including deliberate attacks (hacking,sabotage, etc.), inherent defects that allowunauthorized access to data, and othersecurity breaches, and determine appropriateresponses to minimize their impact. (Evaluate)

    3. Safety and hazard analysisEvaluate safety risks and hazards relatedsoftware development and implementatioand determine appropriate steps to minitheir impact. (Evaluate)

    V Software Metrics and Analysis(24 questions)

    A. Metrics and measurement theory1. Terminology

    Define and describe metrics and measurterms including reliability, internal and

    external validity, explicit and derivedmeasures, etc. (Understand)

    2. Basic measurement theory and statisticsDefine the central limit theorem, and desand use mean, median, mode, standarddeviation, variance, and range. Applyappropriate measurement scales (nominaordinal, ratio, interval) in various situatio(Apply)

    3. Psychology of metricsDescribe how metrics and measuring affthe people whose work is being measureand how people affect the ways in whichmetrics are used and data are gathered.

    (Understand)B. Process and product measurement

    1. Software metricsUse metrics to assess various softwareattributes such as size, complexity, numbdefects, the amount of test coverage needrequirements volatility, and overall systemperformance. (Apply)

    2. Process metricsMeasure the effectiveness and efficiency software using functional verification test(FVT), cost, yield, customer impact, defecdetection, defect containment, total defeccontainment effectiveness (TDCE), defect

    removal efficiency (DRE), process capabiand efficiency, etc. (Apply)

    3. Metrics reporting toolsUse various metric representation tools,including dashboards, stoplight charts, ereport results efficiently. (Apply)

    C. Analytical techniques1. Sampling

    Define and distinguish between samplingmethods (e.g., random, stratified, clusterused in auditing, testing, product acceptaetc. (Understand)

    2. Data collection and integrityDescribe the importance of data integrity

    planning through collection and analysisapply various techniques to ensure its quaccuracy, completeness, and timeliness. (A

    3. Quality analysis toolsDescribe and use classic quality tools(flowcharts, Pareto charts, cause and effediagrams, control charts, histograms, etcand problem-solving tools (affinity and trdiagrams, matrix and activity networkdiagrams, root cause analysis, etc.) in a

    variety of situations. (Apply)

  • 8/8/2019 Certified Software Quality Engineer-Body of Language

    4/5

    VI Software Verification and Validation(V&V) (27 questions)

    A. Theory1. V&V methods

    Select and use V&V methods, including staticanalysis, structural analysis, mathematicalproof, simulation, etc., and analyze whichtasks should be iterated as a result ofmodifications. (Analyze)

    2. Software product evaluationUse various evaluation methods ondocumentation, source code, test results, etc.,

    to determine whether user needs and projectobjectives have been satisfied. (Analyze)

    . Test planning and design1. Test strategies

    Select and analyze test strategies (test-drivendesign, good-enough, risk-based, time-box,top-down, bottom-up, black-box, white-box,simulation, automation, etc.) for varioussituations. (Analyze)

    2. Test plansDevelop and evaluate test plans andprocedures, including system, acceptance,

    validation, etc., to determine whether projectobjectives are being met. (Create)

    3. Test designsSelect and evaluate various test designs,including fault insertion, fault-error handling,equivalence class partitioning, boundary

    value, etc. (Evaluate)

    4. Software testsIdentify and use various tests, including unit,functional, performance, integration,regression, usability, acceptance, certification,environmental load, stress, worst-case,perfective, exploratory, system, etc. (Apply)

    5. Tests of supplier components and productsDetermine appropriate levels of testing forintegrating third-party components andproducts. (Apply)

    6. Test coverage specificationsEvaluate the adequacy of specifications suchas functions, states, data and time domains,interfaces, security, and configurations thatinclude internationalization and platform

    variances. (Evaluate)

    7. Code coverage techniquesIdentify and use techniques such as branch-to-branch, condition, domain, McCabescyclomatic complexity, boundary, etc.(Apply)

    8. Test environmentsSelect and use simulations, test libraries,drivers, stubs, harnesses, etc., and identifyparameters to establish a controlled testenvironment in various situations. (Analyze)

    9. Test toolsIdentify and use utilities, diagnostics, and testmanagement tools. (Apply)

    C. Reviews and inspectionsIdentify and use desk-checks, peer reviews,

    walk-throughs, Fagan and Gilb inspections, etc.(Apply)

    D. Test execution documentationReview and evaluate documents such as defectreporting and tracking records, test completionmetrics, trouble reports, input/outputspecifications, etc. (Evaluate)

    E. Customer deliverablesAssess the completeness of customerdeliverables, including packaged and hosted ordownloadable products, license keys and userdocumentation, marketing and trainingmaterials, etc. (Evaluate)

    VII Software Configuration Management(16 questions)

    A. Configuration infrastructure

    1. Configuration management teamDescribe the roles and responsibilities of aconfiguration management group. (Understand)[NOTE: The roles and responsibilities of theconfiguration control board (CCB) arecovered in area VII.C.2.]

    2. Configuration management toolsDescribe these tools as they are used formanaging libraries, build systems, defecttracking systems, etc. (Understand)

    3. Library processesDescribe dynamic, static, and controlledprocesses used in library systems and relatedprocedures, such as check-in/check-out,merge changes, etc. (Understand)

    B. Configuration identification1. Configuration items

    Describe configuration items (documentation,software code, equipment, etc.), identificationmethods (naming conventions, versioningschemes, etc.), and when baselines arecreated and used. (Understand)

    2. Software buildsDescribe the relationship between softwarebuilds and configuration management functions,and describe methods for controlling builds(automation, new versions, etc.). (Understand)

    C. Configuration control and status accountin1. Item, baseline, and version control

    Describe processes for documentation cotracking item changes, version control, etcare used to manage various configuratioand describe processes used to manageconfiguration item dependencies in softwbuilds and versioning. (Understand)

    2. Configuration control board (CCB)Describe the roles and responsibilities of CCB and its members and the procedureuse. (Understand) [NOTE: The roles and

    responsibilities of the configuration managteam are covered in area VII.A.1.]

    3. Concurrent developmentDescribe the use of configuration managcontrol principles in concurrent developmprocesses. (Understand)

    4. Status accountingDiscuss various processes for establishingmaintaining, and reporting the status ofconfiguration items. (Understand)

    D. Configuration auditsDefine and distinguish between functional aphysical configuration audits and how they used in relation to product specifications.

    (Understand)E. Product release and distribution

    1. Product releaseReview product release processes (plannscheduling, defining hardware and softwdependencies, etc.) and assess theireffectiveness. (Evaluate)

    2. Archival processesReview the source and release archivalprocesses (backup planning and scheduldata retrieval, archival of build environmretention of historical records, offsite storetc.) and assess their effectiveness. (Evalu

  • 8/8/2019 Certified Software Quality Engineer-Body of Language

    5/5

    nhance your career with ASQ certification today!

    Visitwww.asq.org/certification for additionalertification information including:Applications

    Available certifications and international language options

    Reference materials

    Study guides and test-taking tips

    Comprehensive exam information

    ASQ sections

    International contacts

    Endorsements

    Visitwww.asq.org/certification for comprehensive exam information

    Levels of CognitionBased on Blooms TaxonomyRevised (2001)In addition to contentspecifics, the subtext foreach topic in this BOK also indicates the intendedcomplexity level of the test questions for that topiThese levels are based on Levels of Cognition(from Blooms TaxonomyRevised, 2001) and apresented below in rank order, from least completo most complex.

    Remember (Knowledge Level) Recall or recognizterms, definitions, facts, ideas, materials, patternssequences, methods, principles, etc.

    Understand (Comprehension Level) Read and

    understand descriptions, communications, reportstables, diagrams, directions, regulations, etc.

    Apply (Application Level) Know when and howto use ideas, procedures, methods, formulas,principles, theories, etc.

    Analyze (Analysis Level) Break down informationinto its constituent parts and recognize theirrelationship to one another and how they areorganized; identify sublevel factors or salient datafrom a complex scenario.

    Evaluate (Evaluation Level) Make judgmentsabout the value of proposed ideas, solutions,etc., by comparing the proposal to specific criterior standards.

    Create (Synthesis Level) Put parts or elementstogether in such a way as to reveal a pattern or

    structure not clearly there before; identify whichdata or information from a complex set areappropriate to examine further or from whichsupported conclusions can be drawn.

    em B0110