View source for Quality Assurance
Jump to:
navigation
,
search
'''Quality Assurance''' ('''QA''') refers to the planned and systematic activities implemented in a quality system so that quality requirements for a product or service will be fulfilled. [http://asq.org/learn-about-quality/quality-assurance-quality-control/overview/overview.html ASQ Definition] It is the systematic measurement, comparison with a standard, monitoring of processes and an associated feedback loop that confers error prevention. This can be contrasted with Quality "Control". which is focused on process outputs. Two principles included in QA are: "Fit For Purpose", the product should be suitable for the intended purpose; and "Right First Time", mistakes should be eliminated. QA includes management of the quality of raw materials, assemblies, products and components, services related to production, and management, production and inspection processes. Suitable ''Quality'' is determined by product users, clients or customers, not by society in general. It is not related to cost and adjectives or descriptors such "High" and "Poor" are not applicable. For example, a low priced product may be viewed as having high quality because it is disposable where another may be viewed as having poor quality because it is not disposable. ==Testing Methods== 1 Testing methods *1.1 The box approach **[[White-box testing]] **[[Black-box testing]] **[[Grey-box testing]] **[[Exploratory_testing|Visual testing]] 2 Testing levels *2.1 Test target **[[Unit testing]] **[[Integration testing]] **[[System testing]] **[[System integration testing]] *2.2 Objectives of testing **[[Regression testing]] **[[Acceptance testing]] **[[Alpha testing]] **[[Beta testing]] 3 Non-functional testing *[[Software performance testing]] *[[Usability testing]] *[[Security testing]] *[[Internationalization and localization]] *[[Destructive testing]] 4 The testing process *[[Waterfall_model|Traditional CMMI or waterfall development model]] *[[Agile_methods|Agile or Extreme development model]] *[[Software_testing#A_sample_testing_cycle|A sample testing cycle]] 5 Automated testing *[[Test_tool|Testing tools]] *[[Software_quality#Software_Quality_Measurement|Measurement in software testing]] ==Black Box Testing== [[File:Blackbox.svg|thumb|200px|Black box diagram]] '''Black-box testing''' is a method of [[software testing]] that tests the functionality of an application as opposed to its internal structures or workings (see [[white-box testing]]). Specific knowledge of the application's code/internal structure and programming knowledge in general is not required. The tester is only aware of what the software is supposed to do, but not how i.e. when he enters a certain input, he gets a certain output; without being aware of how the output was produced in the first place. Test cases are built around specifications and requirements, i.e., what the application is supposed to do. It uses external descriptions of the software, including specifications, requirements, and designs to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid inputs and determines the correct output. There is no knowledge of the test object's internal structure. This method of test can be applied to all levels of software testing: [[unit test|unit]], [[integration testing|integration]], [[system testing|system]] and [[acceptance test|acceptance]]. It typically comprises most if not all testing at higher levels, but can also dominate unit testing as well. ==Black Box Test Design Techniques== Typical black-box test design techniques include: * [[Decision_table|Decision table testing ]] * [[All-pairs testing]] * [[State transition table]]s * [[Equivalence partitioning]] * [[Boundary value analysis]] * [[Use_case |Use case testing ]] ==White Box Testing== {{main|White-box testing}} '''White-box testing''' (also known as '''clear box testing''', '''glass box testing''', '''transparent box testing''', and '''structural testing''') is a method of testing [[software]] that tests internal structures or workings of an application, as opposed to its functionality (i.e. [[black-box testing]]). In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. This is analogous to testing nodes in a circuit, e.g. [[in-circuit test]]ing (ICT). While white-box testing can be applied at the [[unit testing|unit]], [[integration testing|integration]] and [[system testing|system]] levels of the [[software testing]] process, it is usually done at the unit level. It can test paths within a unit, paths between units during integration, and between subsystems during a system–level test. Though this method of test design can uncover many errors or problems, it might not detect unimplemented parts of the specification or missing requirements. White-box test design techniques include: * [[Control flow]] testing * Data flow testing * Branch testing * Path testing ===Top-Down and Bottom-Up=== '''Bottom Up Testing''' is an approach to integrated testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested. All the bottom or low-level modules, procedures or functions are integrated and then tested. After the integration testing of lower level integrated modules, the next level of modules will be formed and can be used for integration testing. This approach is helpful only when all or most of the modules of the same development level are ready. This method also helps to determine the levels of software developed and makes it easier to report testing progress in the form of a percentage. '''Top Down Testing''' is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module. == A Typical Quality Assurance Process - The Steps == There are many forms of QA processes, of varying scope and depth. The application of a particular process is often customized to the production process. A typical process may include: * test of previous articles * plan to improve * design to include improvements and requirements * manufacture with improvements * review new item and improvements * test of the new item == Failure Testing == Valuable processes to perform on a whole [[consumer]] product is failure testing or [[stress testing]]. In mechanical terms this is the operation of a product until it fails, often under stresses such as increasing [[vibration]], [[temperature]], and [[humidity]]. This exposes many unanticipated [[weakness]]es in a product, and the data is used to drive engineering and manufacturing [[process improvement]]s. Often quite simple changes can dramatically improve product service, such as changing to [[mold]]-resistant [[paint]] or adding [[Washer (hardware)#Spring and locking_washers|lock-washer]] placement to the [[training]] for new assembly personnel. == Statistical Control == Many organizations use [[statistical process control]] to bring the [[organization]] to [[Six Sigma]] levels of quality, in other words, so that the likelihood of an unexpected failure is confined to six [[standard deviation]]s on the [[normal distribution]]. This probability is less than four [[1 E-6|one-millionths]]. Items controlled often include [[clerical task]]s such as order-entry as well as conventional manufacturing tasks. Traditional statistical process controls in manufacturing operations usually proceed by randomly sampling and testing a fraction of the output. Variances in critical tolerances are continuously tracked and where necessary corrected before bad parts are produced. == Total Quality Management == The quality of products is dependent upon that of the participating constituents, some of which are sustainable and effectively controlled while others are not. The process(es) which are managed with QA pertain to [[Total Quality Management]]. If the specification does not reflect the true quality requirements, the product's quality cannot be guaranteed. For instance, the parameters for a pressure vessel should cover not only the material and [[dimension]]s but operating, environmental, [[safety]], [[Reliability engineering|reliability]] and [[maintainability]] requirements. == QA in Software Development == The following are examples of QA models relating to the software development process. === Models and Standards === [[ISO 17025]] is an [[international standard]] that specifies the general requirements for the competence to carry out tests and or [[calibration]]s. There are 15 management requirements and 10 technical requirements. These requirements outline what a laboratory must do to become accredited. Management system refers to the organization's structure for managing its processes or activities that transform inputs of resources into a product or service which meets the organization's objectives, such as satisfying the customer's quality requirements, complying with regulations, or meeting environmental objectives. The [[CMMI]] ([[Capability Maturity Model Integration]]) model is widely used to implement Quality Assurance (PPQA) in an organization. The CMMI maturity levels can be divided into 5 steps, which a company can achieve by performing specific activities within the organization. (CMMI QA processes are excellent for companies like NASA, and may even be adapted for agile development style). == Using Contractors and/or Consultants == Consultants and contractors are sometimes employed when introducing new quality practices and methods, particularly where the relevant skills and expertise are not available within the organization or when allocating the available internal resources are not available. Consultants and contractors will often employ Quality Management Systems (QMS), auditing and procedural documentation writing [[CMMI]], [[Six Sigma]], [[Measurement Systems Analysis]] (MSA), [[Quality Function Deployment]] (QFD), [[Failure Mode and Effects Analysis]] (FMEA), and [[Advance Product Quality Planning]] (APQP). == Bibliography == === Journals === * [http://www3.interscience.wiley.com/journal/15634/home The Quality Assurance Journal], ISSN: 1087-8378, '''John Wiley & Sons''' * [http://www.asq.org/qualityprogress/index.html QP - Quality Progress magazine], Published by '''the American Society for Quality''' * [http://www.emeraldinsight.com/products/journals/journals.htm?id=qae Quality Assurance in Education], ISSN 0968-4883, '''Emerald Publishing Group''' * [http://www.springerlink.com/content/q922ehvpaq49pw6q/ Accreditation and Quality Assurance: Journal for Quality, Comparability and Reliability in Chemical Measurement], ISSN: 0949-1775 Print, ISSN: 1432-0517 * [http://www.elsevier.com/wps/find/journaldescription.cws_home/405859/description Food Quality and Preference], ISSN: 0950-3293 === Issues === *Almeida, E., Alvaro, A., Meria, S. (2007, September 3–4). A Component quality assurance process. Foundations of Software Engineering, doi: http://doi.acm.org/10.1145/1295074.1295093 * Feldman, S. (2005, February). Quality assurance: much more than testing. Queue, 3(1), doi: http://doi.acm.org/10.1145/1046931.1046943 * Meisinger, M., Wagner, S. (2006, November 6). Integrating a Model of Analytical Quality Assurance into the V-Modell XT. Foundations of Software Engineering, 38-45.doi: http://doi.acm.org/10.1145/1188895.1188906 === Books === * Majcen N., Taylor P. (Editors): Practical examples on traceability, measurement uncertainty and validation in chemistry, Vol 1; ISBN 978-92-79-12021-3, 2010. * Pyzdek, T, "Quality Engineering Handbook", 2003, ISBN 0-8247-4614-7 * Godfrey, A. B., "Juran's Quality Handbook", 1999, ISBN 0-07-034003-X == See Also == * [[Best practice]] * [[Data quality]] * [[Data integrity]] * [[Farm assurance]] * [[GxP]], a general term for Good Practice quality guidelines and regulations * [[ISO 9000]] * [[Mission assurance]] * [[Program assurance]] * [[Quality control]] * [[Quality infrastructure]] * [[Quality management]] * [[Quality management framework]] * [[Quality management system]] * [[Ringtest]], part of a quality assurance programme in which identical samples are analysed by different laboratories * [[Software testing]] * [[Software quality assurance]] * [[Total Quality Management]] *[[Verification and validation]] == References == * [http://asq.org/learn-about-quality/quality-assurance-quality-control/overview/overview.html/ ASQ Definition] * Ron, Patton. Software Testing. * Thareja, Mannu; Thareja, Priyavrat (February 2007). "[http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1498550/ The Quality Brilliance Through Brilliant People]". Quality World 4 (2). Retrieved 2010-01-11. == External Links == * [http://www.lhmartininstitute.edu.au/ Graduate Certificate in Quality Assurance, LH Martin Institute for Higher Education Leadership & Management, The University of Melbourne] * [http://www.msc-euromaster.eu/ Measurement Science in Chemistry] * [http://www.nrc.gov/reading-rm/doc-collections/cfr/part050/part050-appb.html Quality Assurance Criteria for Nuclear Power Plants and Fuel Reprocessing Plants] * [http://www.trainmic.org Training in metrology in chemistry] {{DEFAULTSORT:Quality Assurance}} [[Category:Evaluation]] [[Category:Quality Assurance| ]]
Template:Main
(
view source
)
Return to
Quality Assurance
.
Personal tools
Log in
Namespaces
Page
Discussion
Variants
Views
Read
View source
View history
Actions
Search
Navigation
Main page
Community portal
Current events
Recent changes
Random page
Help
Toolbox
What links here
Related changes
Special pages