About this sample
About this sample
Words: 2153 |
11 min read
Published: Oct 2, 2018
Words: 2153|Pages: 5|11 min read
Quality assurance or QA is the systematic and continuous monitoring and evaluation of the different aspects of a project, service or facility. It required maximizing the probability that minimum standards of quality are being attained by the production process. Quality Assurance is an important factor in software industry and any kind of business. Software quality depends upon the customer satisfaction which can be achieved through applying specific standards. Because of the high customer demands to achieve quality software is very important. Most of the developed countries are doing extremely well in software industry and improving day by day. Somehow some of the developing countries are also struggling with software quality and cannot getting good reputation in International Market.
Software Quality lacks due to many reasons. Most of the reasons are the problems for lacking interest and knowledge in improving the software quality by higher authorities and software assurance team. Software testing is the execution of software’s product with actual test data which produce expected results. Two types of basic concerns are there in software testing: what test cases should be used, and how many test cases are necessary? Software quality assurance is the set of activities that ensure software processes and products conform to requirements and standards. Software testing in the field of Software Engineering is a process in the life-cycle of a software project that verifies that the product or service meets quality expectations and validates that software meets the requirements specification. Software testing is intended to locate defects in a program, although a given testing method cannot guarantee to locate all defects. As such, it is common for an application to be subjected to a range of testing methodologies throughout the software life-cycle, such as unit testing during development, integration testing once modules and systems are completed, and user acceptance testing to allow the stakeholders to determine if their needs have been met.
It is very important for any development sector to produce very high quality products to achieve a respectable position in global market in IT industry. Competition is very high and one cannot afford correcting errors after delivering the products to the customer. A correction after delivering is very costly and it affects the Company credibility and organizations cannot afford losing Customers due to these kinds of problems. To avoid these problems, organizations should follow a proper quality management plan to remove errors from the products. Maintaining Quality for product is very important for Business Organizations as every Business Company is running towards automation. Failure in real time software systems can have serious consequences.
Themain role of software quality assurance is to maintain the quality of the software products. For that it is to make sure that the standards and procedures are properly followed. Software Quality Assurance standards are developed to help organizations to achieve quality products. Standards are the set of guidelines which help to achieve best results. Sometimes, it has been experienced that some critical problems which are degrading the software quality. Also suggested how the relationship between developers and QA team can be more cooperating and how team leads should react to some problems to solve it. Software Quality Assurance plays a very important role in business of Software Company because the only factor which results in getting consistent projects from permanent customers is customer satisfaction.
The main issues addressed during real time testing in any industry:
Some of aspects can be resolved by providing good knowledge and motivation of the right direction to execute the work. Here it is required to understand the roll of the QA and QC for any software developer and software tester. It has been noticed most of the time that most people get confused when it comes to understand the differences among Quality Assurance, Quality Control, and Testing. Although they are interrelated with each other and up to some extent, they can be considered as same activities, but there exist distinguishing points that set them apart.
The following table lists the points that differentiate QA, QC, and Testing.
QA includes activities that ensure the implementation of processes, procedures and standards in context to verification of developed software and intended requirements. It includes activities that ensure the verification of a developed software with respect to documented (or not in some cases) requirements.
It includes activities that ensure the identification of bugs/error/defects in a software. Focuses on processes and procedures rather than conducting actual testing on the system. Focuses on actual testing by executing the software with an aim to identify bug/defect through implementation of procedures and process.
With the help of above table easy to understand that it is very well explained a systematic process to determine how the actual testing process is conducted within an organization or a team. Generally, it is an independent examination of processes involved during the testing of software. As per IEEE, it is a review of documented processes that organizations implement and follow. Types of audit include Legal Compliance Audit, Internal Audit, and System Audit. It is a formal technique that involves formal or informal technical reviews of any artefact by identifying any error or gap. As per IEEE94, inspection is a formal evaluation technique in which software requirements, designs, or codes are examined in detail by a person or a group other than the author to detect faults, violations of development standards, and other problems.
Formal inspection meetings may include the following processes: Planning, Overview Preparation, Inspection Meeting, Rework, and Follow-up During of Life Cycle of any software development it is required to continuous monitor that the direction of product is right? What product is going to be developed is right? At the same time before deliver any product it is required to match with the original requirements what is going to deliver is right? To determine the in process progress and finish product following two terms are very needful to understand for most of the people, who use them interchangeably. The following table highlights the differences between verification and validation.
Verification addresses the concern: "Are you building it right?" Validation addresses the concern: "Are you building the right thing?" Ensures that the software system meets all the functionality. Ensures that the functionalities meet the intended behavior. Verification takes place first and includes the checking for documentation, code, etc. Validation occurs after verification and mainly involves the checking of the overall product. Done by developers. Done by testers. It has static activities, as it includes collecting reviews, walkthroughs, and inspections to verify a software. It has dynamic activities, as it includes executing the software against the requirements. It is an objective process and no subjective decision should be needed to verify a software. It is a subjective process and involves subjective decisions on how well a software works.
As with almost any technical process in any software product development, software testing has a prescribed order in which things should be done in specific order and it is categorized. The following is a list of software testing categories arranged in chronological order. These are the known and generalized steps taken to fully test new software in preparation for marketing it:
- Unit testing - testing performed on each module or block of code during development. Unit Testing is normally done by the programmer who writes the code.
- Integration testing - testing done before, during and after integration of a new module into the main software package. This involves testing of each individual code module. One piece of software can contain several modules which are often created by several different programmers. It is crucial to test each module's effect on the entire program model.
- System testing - testing done by a professional testing agent on the completed software product before it is introduced to the market.
- Acceptance testing - beta testing of the product done by the actual end users.
Software Quality Assurance (SQA) is the planned and systematic set of activities that ensures that software conforms to requirements, standards, and procedures. SQA includes the process of assuring that standards and procedures are established and followed throughout the software acquisition life cycle. Generally the development of any software product is a process of managing and handling many risks. These risks can be categorized in two variables which are technical and programmatic; risks that the software will not perform as intended or will be too difficult to operate, modify, or maintain are technical risks, while risks that the project will overrun cost or schedule are programmatic risks. The goal of software assurance is to reduce many of these risks. Establishing standards and procedures for software development is critical. These provide the framework from which the development and control processes are compared. Proper documentation of standards and procedures is necessary since the SQA activities of process monitoring and product evaluation rely upon unequivocal definitions to measure project compliance.
Product evaluation and process monitoring are the SQA activities that assure the software development is described correctly and monitoring correctly by QC, and that the project's procedures and standards are followed. It is recommended that the first products monitored by SQA should be those standards and procedures. SQA assures that clear standards exist and evaluates compliance of the software product to the established standards. Another SQA activity is process monitoring, which ensures that appropriate steps to carry out the process are being followed. SQA monitors processes by comparing all of the actual steps with stands procedures developed within the organization or it should be followed with any standards procedure established and available in market those should be carried out in the documented procedures. A fundamental SQA technique is the audit, which looks at a product in depth and evaluates it against established procedures and standards. Audits are used to review management and assurance processes to provide an indication of the quality and status of the software product.
The purpose of an SQA audit is to assure that proper control procedures are followed and that the developer's status reports accurately reflect the status of the activity. Some of the more important relationships of SQA to other management and assurance activities are Configuration Management, Verification and Validation which were mentioned previously, and Format Testing. SQA assures that Configuration Management activities are performed in accordance with development plans, standards, and procedures. The Configuration Management activities monitored and audited by SQA include baseline control, configuration identification, configuration control, configuration status accounting, and configuration authentication. SQA assures Verification and Validation (V&V) activities by monitoring technical reviews, inspections, and going through.
SQA also ensures that all actions are assigned, documented, scheduled, and updated as well as required proper follow-up while each and every stage of development and testing. Technical reviews should be conducted at the end of each phase of the life cycle to identify problems and determine whether the product meets all applicable requirements. In technical reviews, actual work done is compared with established standards to determine whether the product is ready to proceed with the next phase of development. An inspection or walkthrough is a detailed examination of a product on a step-by-step or line-by-line basis to find errors. SQA assures that formal software testing, such as acceptance testing, is done in accordance with plans and procedures. It includes test plans, test specifications, test procedures, and test reports. By FT, SQA assures software is complete and ready for delivery.
The role of the software quality assurance and quality control is to reduce many of these risks, especially for critical systems although there are many tools and techniques available to use for software testing, the best testing requires a tester's creativity and experience. The main aim of SQA is to provide proper and accurate visibility of software project and its developed product to the administration. Also, to ensure that the issues, which are not solved within the software are addressed by the upper management. Testing is not only used to locate defects but also correct them. It is also used in the validation, verification process, and reliability measurement of the software. Testing should be an integral component of the software process and it must be carried out throughout the life cycle. By using the proper life cycle, proper planning and with right approach the error free product can be delivered.
Browse our vast selection of original essay samples, each expertly formatted and styled
Where do you want us to send this sample?
Be careful. This essay is not unique
This essay was donated by a student and is likely to have been used and submitted before
Download this Sample
Free samples may contain mistakes and not unique parts
Sorry, we could not paraphrase this essay. Our professional writers can rewrite it and get you a unique paper.
Please check your inbox.
We can write you a custom essay that will follow your exact instructions and meet the deadlines. Let's fix your grades together!