 | 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. ...
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
|