FACTOID # 157: People trust Swedes! Swedish companies are the world’s least-likely to be perceived as paying bribes.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Software Quality Assurance
Software development process
Activities and steps
Requirements · Architecture
Design · Implementation
Testing · Deployment
Models
Agile · Cleanroom · Iterative · RAD
RUP · Spiral · Waterfall · XP · Scrum
Supporting disciplines
Configuration management
Documentation
Quality assurance (SQA)
Project management
User experience design
This box: view  talk  edit
Software Testing Portal

Software quality assurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality. It does this by means of audits of the quality management system under which the software system is created. These audits are backed by one or more standards, usually ISO 9000. This does not cite any references or sources. ... In sytems and software engineering, requirements analysis encompasses those tasks that go into determining the requirements of a new or altered system, taking account of the possibly conflicting requirements of the various stakeholders, such as users. ... The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. ... Software design is the process that starts from a problem for which there is currently no acceptable (software) solution, and ends when such a solution has been created. ... Programming redirects here. ... Software testing is the process used to assess the quality of computer software. ... Software deployment is all of the activities that make a software system available for use. ... Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. ... The Cleanroom Software Engineering process is a software development process intended to produce software with a certifiable level of reliability. ... Iterative and Incremental development is a cyclic software development process developed in response to the weaknesses of the waterfall model. ... Rapid application development (RAD), is a software development process developed initially by James Martin in the 1980s. ... The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. ... The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ... The waterfall model is a sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ... Extreme Programming (or XP) is a software engineering methodology, the most prominent of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). ... For other uses, see Scrum. ... Software Configuration Management (SCM) is part of configuration management (CM). ... Software documentation or source code documentation is written text that accompanies computer software. ... Project Management is the discipline of organizing and managing resources (e. ... User experience design is a subset of the field of experience design which pertains to the creation of the architecture and interaction models which impact a users perception of a device or system. ... Image File history File links Portal. ... Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ... For other uses, see Audit (disambiguation). ... A quality management system (QMS) is a system that outlines the policies and procedures necessary to improve and control the various processes that will ultimately lead to improved business performance. ... ISO 9000 is a family of standards for quality management systems. ...


It is distinct from software quality control which includes reviewing requirements documents, and software testing. SQA encompasses the entire software development process, which includes processes such as software design, coding, source code control, code reviews, change management, configuration management, and release management. Whereas software quality control is a control of products, software quality assurance is a control of processes. This article is about engineering. ... Software testing is the process used to assess the quality of computer software. ... “Software development” redirects here. ... Software design is the process that starts from a problem for which there is currently no acceptable (software) solution, and ends when such a solution has been created. ... The term coding has the following meanings: In communications systems, the altering of the characteristics of a signal to make the signal more suitable for an intended application, such as optimizing the signal for transmission, improving transmission quality and fidelity, modifying the signal spectrum, increasing the information content, providing error... Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information. ... Code review is peer review of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving overall code quality. ... Change management is a structured approach to change in individuals, teams, organizations and societies that enables the transition from a current state to a desired future state. ... In information technology and telecommunications, the term configuration management or configuration control has the following meanings: The management of features and assurances through control of changes made to hardware is hot so is, software, firmware, documentation, test, test fixtures and test documentation of an automated information system, throughout the development... To meet Wikipedias quality standards and make it more accessible to a general audience, this article may require cleanup. ...


Software quality assurance is related to the practice of quality assurance in product manufacturing. There are, however, some notable differences between software and a manufactured product. These differences stem from the fact that the manufactured product is physical and can be seen whereas the software product is not visible. Therefore its function, benefit and costs are not as easily measured. What's more, when a manufactured product rolls off the assembly line, it is essentially a complete, finished product, whereas software is never finished. Software lives, grows, evolves, and metamorphoses, unlike its tangible counterparts. Therefore, the processes and methods to manage, monitor, and measure its ongoing quality are as fluid and sometimes elusive as are the defects that they are meant to keep in check. Quality assurance, or QA for short, is the activity of providing evidence needed to establish quality in work, and that activities that require good quality are being performed effectively. ... Manufacturing (from Latin manu factura, making by hand) is the use of tools and labor to make things for use or sale. ...

Contents

Advantages of SQA

An SQA plan can take a number of paths, testing for different capabilities and performing different analyses, depending on the demands of project, the users, and the software itself. But any rigorous SQA plan carried out scrupulously by seasoned QA professionals will confer certain benefits:


Improved customer satisfaction Improved customer satisfaction means longer, more profitable customer relationships, positive customer testimonials, and waves of referral business generated from positive word of mouth.


If customers are dissatisfied with a product they have purchased from a particular software vendor, they're likely never to recommend that product nor buy from that software vendor again. Bugs and defects, in addition to seriously hampering an application's functionality, look sloppy and unprofessional, and reflect poorly on a company's reputation.


What's more, without proper testing, it is virtually impossible to know how new users will respond to an application's functions, options, and usability features. Unbiased software quality assurance specialists come to a project fresh, with a clear outlook, and so serve as the first line of defense against unintuitive user interfaces and broken application functionality. A quality application is guaranteed to result in enhanced customer satisfaction.


Reduced cost of development Because the process of software quality assurance is designed to prevent software defects and inefficiencies, projects that incorporate rigorous, objective testing will find that development costs are significantly reduced since all later stages of the development life cycle become streamlined and simplified. With SQA, all further testing and development including user testing and customer deployments will go more smoothly, and of course more quickly -- which means your software development project will consistently reach completion on time and within budget, release after release.


Reduced cost of maintenance Bug-infested applications are troublesome to support. The combined cost of unnecessary recalls, returns, and patches can be frightful. And that says nothing of what will have to be spent on ongoing customer support, be it by telephone, email, or in person. All these costs and more can be dramatically reduced by releasing only rigorously quality-assured products. Software vendors that invest in quality now can avoid big losses in the future.


Methodology of SQA

Software testing is as much an art as a science. In large, complex applications, such as operating systems, it is practically impossible to iron out every single bug before releasing it both from a difficulty point of view and due to time constraints. Different software applications require different approaches when it comes to testing, but some of the most common tasks in software QA include:


Validation testing


Validation testing is the act of entering data that the tester knows to be erroneous into an application. For instance, typing "Hello" into an edit box that is expecting to receive a numeric entry.


Data comparison


Comparing the output of an application with specific parameters to a previously created set of data with the same parameters that is known to be accurate.


Stress testing


A stress test is when the software is used as heavily as possible for a period of time to see whether it copes with high levels of load. Often used for server software that will have multiple users connected to it simultaneously. Also known as Destruction testing.


Usability testing


Sometimes getting users who are unfamiliar with the software to try it for a while and offer feedback to the developers about what they found difficult to do is the best way of making improvements to a user interface.


See also

Wikimedia Commons has media related to:
Software quality assurance

Redirect page ...

References

  • Software Quality Assurance (Part I)

External links

  • Software Engineering Body of Knowledge Ch. 11 Sec. 2.1
  • Software Quality Assurance Zone
  • Quality Assurance Institute Worldwide

  Results from FactBites:
 
Software Quality Assurance SQA Practice (3502 words)
SQA budgeting shall be part of the Request For Proposal (RFP) cost evaluation according to corporate policy and not dependent on the goodwill of project offices.
SQA task is limited to verifying the conformance of deliverable items to software engineering standards stated in the project contract (usually military standards or ANSI/IEEE standards) or conformance to corporate standards (usually patterned after military standards or ANSI/IEEE standards and modified to corporate or project environment).
Assurance that support software and computer hardware to be used to develop and test software and hardware under the contract are acceptable.
Software Quality Assurance (2461 words)
The goals of SQA are to improve software quality by appropriately monitoring both software and the development process to ensure full compliance with the established standards and procedures.
Software Verification and Validation Plan, which describes the methods used to verify that the requirements are implemented in the design, that the design is implemented in the code, and that the code meets the requirements.
Software quality is defined as the degree to which software conforms to quality criteria.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.