File Name: software testing standards and procedures .zip
Quality Assurance Tutorial
The main aim of software testing is to detect defects. In spite of the definition, testing cannot be a separate process from software development cycle.
However, it is believed that software testing existed before the establishment of development life cycles. According to references, the early software testing activity was made at The estimates are assumed to be for the full life cycle of the software systems.
Historically, software testing was attached with high cost and poor coverage of testing standards professionally and academically. The first aim of such series is to create a set of standards that agreed internationally.
The second aim is to have adaptable standards for different organizational scenarios that cope up with current technological advancement in software development . The new international standard is envisioned to be more comprehensive by covering various level of testing processes. I addition, it is meant to cover documentation, design test techniques, testing vocabulary and concepts .
The rest of the paper is constructed as follow: fundamental software testing model, concepts and definitions, testing processes, testing documentation, test design techniques and keyword-driven test and conclusion.
Fundamental Software Testing ModelThe new software testing model is based on a fundamental testing model where processes testing form the core of the model in addition to three more basic entities illustrated below in Figure 1. Documentation is generated as final result of performing processes test cases providing description of the output.
Techniques entity is derived from requirements to be used for designing test cases. The used terminologies by other model's part are labeled as concepts and definitions. The covered test process of the fundamental model executes at three different levels, those levels are illustrated at Figure 2 . The organizational test process refers to the activities among several projects across the organization. Therefore, it contributes to the creation, development and implementation of organizational test policy.
The test policy states management expectations of the organization as well as serving as direct approach for software testing in business terms. Requirements and constraints are dictated by the organizational test process to test management processes and dynamic test processes to engage with the organizational test process in all projects belonging to same organization. Formulation of new organizational test process is possible with different project natures that do not comply with the designed test processes.
The comprehensive test stated by organizational test policy is divided into number of sub-processes of testing e. Test Management processes can be also applied to testing sub-processes. Different management plans can be used with testing sub-processes such as system, acceptance and performance test plans. Static and dynamic testing can be both included in testing the sub-processes . It focuses on key definitions and concepts of software testing for better understanding of the international standards.
Software testing as concept is important for many reasons such as information regarding quality of the item being tested usually required by decision makers, the item under testing may not perform as expected and need to be verified and validated, evaluation should occur throughout the life cycle of the software being developed.
Generally, it is acceptable that perfect software is impossible to achieve. Therefore, software continuous testing and evaluation is required. The main goal of testing is to provide information about the quality of items under testing. This information can be useful at following; removal of defects to improve the test item, improve decision made by management by considering the risk attached with items, enhance the organizational approaches and highlight the effective ones that reveal the defects .
It identifies the test processes that can be used for managing, governing and implementing software testing in organizations.
It provides common descriptions of testing processes along with descriptive diagrams which applicable for all software testing models . Figure 3 summarizes the processes and sub-processes involved in the multilayer relationship diagram. The organizational test is represented twice in Figure 3, once for the creation and maintenance of test policy and second for the organizational test strategy.
Moreover, the test management process is commenced for the development and implementation of the test plan. The lower layer is dedicated for dynamic testing whenever needed by test plan. The dynamic testing for instance includes unit testing, system testing and performance testing, etc.
Test Monitoring and Control ProcessTest monitoring and control process examines whether the progress of testing is in alignment with the organizational test plan and the test policy of the organization. If variance is detected, correction plan should be executed to remove the variance. This process can be assigned for the management of the project or the management of single testing phase or type e. System testing or performance testing.
If the variance is detected at later stages, it would be applied as a part of dynamic testing. The person in charge of implementing test plan should implement the following activities and tasks in Table 1 . Test completion ProcessTest completion process is a verification test to be performed when the test of activities is complete. It is used as verification test to carry out the testing done on system testing or performance testing to test the overall project.
It is considered as satisfactory test leaving the testing environment in good situation. Communication to stakeholder should occur when overall testing is complete. Table 2 below summarizes the activities and tasks involved in this process . TC2 Clean Up Test EnvironmentRestoration of test environment to pre-defined state upon completion of testing activities. TC4 Report Test CompletionRelevant information such as test plan, test results, test status report and test completion report should be collected and reported to stakeholders.
Dynamic Test ProcessesThis type of testing is used to carry out the dynamic testing in specific phase of testing e. Table 3 summarizes the activities and tasks of this process . It may involve changes to test environment based on the result of the previous tests. The test environment may change depending on the configuration management processes.
The tasks and activities within this process are; establishment of test environment and maintaining test environment . Test Execution ProcessThis process is utilized to run the test procedures that are generated as result of test design and implementation process.
Test execution process may require running several times since all available test procedures cannot run at single iteration. Furthermore, when an issue is fixed, the test execution process should be performed again.
The activities involved within this process are; Test procedure execution, test results comparison and test execution recording . It contains definite documents that considered as an output of test processes. These documents can have multiple versions; such issue is related to configuration management . The set of documentation is useful for test practitioners, below Table 4 list available documents in this part. First two templates belong to organizational test process; the three proceedings belong to management test processes while the rest correspondent to dynamic test processes .
The targeted audience of this part is testers, test managers and developers especially those who are in charge of software management and implementation. In this part, test design techniques are defined for specification-based testing, structure-based testing, and experience-based testing.
In specification-based testing, the main source of information used to design test cases is test basis, for instance user needs, requirements, specification and models. In structure-based testing the source code or model structure is used as the source of information to develop test cases. In experience-based testing, the primary source of information is the experience and knowledge of testers. Moreover, all these types of tests are used to generate the expected end results.
Those test design techniques are not essential but considered complementary. However, they are effective if applied in combination. The terms specification-based testing, structure-based testing are also known as black-box testing and white-box testing also named as clear-box testing , both black-box testing and white-box testing are related to the visibility of test items in software structure.
In black-box testing, test item's visibility of the internal structure is not present while in white-box testing the internal structure of test items is visible. Grey-box testing is used as a term when knowledge of test items is utilized from specification and structure as well.
Below Table 5 shows all techniques pertaining specification-based testing, structure-based testing and experience-based testing . It can be used if no test automation approach is planned or exist. This type of testing can be applied to all level of testing such as component testing and system testing or even for test types like functional testing and reliability testing. The advantages of applying keyword-driven testing for system are; making system easier to use, understandable, maintainable, reusable, automation supportive, and money saver.
ConclusionSoftware testing is an essential part of software development cycle that cannot be neglected. Actually, it is an activity that should start upon the creation of software specifications until software deployment and further with changes and maintenance. The cost of adopting software testing approaches and practices is considerably high, but the final cost would be much higher in case the system encounters failure especially in enterprise and safetycritical systems.
The awareness of testing standard is also beneficial to purchasers, businesses and governments to verify the quality of the market's products on well-studied and measured basis. Table 1 :1Activities and tasks example for test monitoring and control process. Up Create suitable measures and means to update risks with the new changes. TMC3 Control Ensure implementing the activities required for test plan.
TMC4 Report Test progress against test plan and communicate results to stakeholder within specific period of time, update and report new risks to stakeholders. Table 2 :2Activities and tasks example for test completion process.
Before we learn Quality Assurance, let's understand- What is Quality? Quality is extremely hard to define, and it is simply stated: "Fit for use or purpose. What is Assurance? Assurance is nothing but a positive declaration on a product or service, which gives confidence. It is certainty of a product or a service, which it will work well.
Before we learn Quality Assurance, let's understand- What is Quality? Quality is extremely hard to define, and it is simply stated: "Fit for use or purpose. What is Assurance? Assurance is nothing but a positive declaration on a product or service, which gives confidence. It is certainty of a product or a service, which it will work well. It provides a guarantee that the product will work without any problems as per the expectations or requirements.
First developed in  and released in , the standard "defines vocabulary, processes, documentation, techniques, and a process assessment model for testing that can be used within any software development lifecycle. At first the International Organization for Standardization ISO had no working group with significant software testing experience, so the ISO created WG26, which by was represented by more than 20 different countries. As of June [update] , no major revisions have occurred to the five parts of the standard. These parts are, from most recent to oldest:. Part 2 defines a generic test process model for software testing that is intended for use by organizations when performing software testing.
Skip to Main Content. A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Use of this web site signifies your agreement to the terms and conditions. The purpose, outline, and content of each basic document are defined.
Quality is all about meeting the needs and expectations of customers concerning functionality, design, reliability, durability, and price of the product. Assurance is a positive declaration on a product or service. It is all about the product which should work well.
Наконец-то. ГЛАВА 77 Стратмор остановился на площадке у своего кабинета, держа перед собой пистолет. Сьюзан шла следом за ним, размышляя, по-прежнему ли Хейл прячется в Третьем узле. Свет от монитора Стратмора отбрасывал на них жутковатую тень.
Сьюзан в ужасе смотрела на экран. Внизу угрожающе мигала команда: ВВЕДИТЕ КЛЮЧ Вглядываясь в пульсирующую надпись, она поняла. Вирус, ключ, кольцо Танкадо, изощренный шантаж… Этот ключ не имеет к алгоритму никакого отношения, это противоядие. Ключ блокирует вирус.
Фонтейн тотчас повернулся к стене-экрану. Пятнадцать секунд спустя экран ожил. Сначала изображение на экране было смутным, точно смазанным сильным снегопадом, но постепенно оно становилось все четче и четче. Это была цифровая мультимедийная трансляция - всего пять кадров в секунду. На экране появились двое мужчин: один бледный, коротко стриженный, другой - светловолосый, с типично американской внешностью.