Software Testing Standards
VerifiedAdded on 2023/06/12
|9
|2237
|497
AI Summary
This report discusses IEEE 1008 standard for software unit testing, its scope, key concepts, and relevance in software testing. It also explores drawbacks and commonalities based on research paper. The report carefully addresses seven questions relating to the standard.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Running head: SOFTWARE TESTING STANDARDS
Software testing standards
Name of the Student:
Name of the University:
Author note:
Software testing standards
Name of the Student:
Name of the University:
Author note:
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
1SOFTWARE TESTING STANDARDS
Table of Contents
1. Introduction:...........................................................................................................................2
2. IEEE 1008 standard:..............................................................................................................2
2.1 Discussion based on the research paper...........................................................................5
3. Conclusion:............................................................................................................................6
4. References:.............................................................................................................................7
Table of Contents
1. Introduction:...........................................................................................................................2
2. IEEE 1008 standard:..............................................................................................................2
2.1 Discussion based on the research paper...........................................................................5
3. Conclusion:............................................................................................................................6
4. References:.............................................................................................................................7
2SOFTWARE TESTING STANDARDS
1. Introduction:
To understand standards in Software Testing, there is a need to look into viewpoints
related to producers and that of customers. A standard governs quality of particular software
and thus this can be considered as good thing from customer viewpoint. Standards are in the
form of published documents that specifies procedures and standards to ensure quality of
software and also ensures safety and reliability of it (Fuggetta & Di Nitto, 2014). The
research paper that is chosen discusses the growth or evolution of software testing. It
highlights the fact that as penetration of computers increased, cost of software failure also
increased and this resulted in the growth of testing. The paper outlines major testing models
and discusses national standards for software (Gelperin & Hetzel, 1988). The paper refers to
ANSI/IEEE standard. There are many standards under ANSI/IEEE standard. This report will
focus on IEEE 1008 unit testing standard. The will then try to answer some specific questions
about the chosen standard.
2. IEEE 1008 standard:
The first paragraph will provide the standard name. IEEE 1008 unit testing standard is
the chosen standard.
This paragraph will provide details about copyright holder for the given standard. A
task group of Institute of Electrical and Electronics Engineers (IEEE) technical committee
holds the copy right for this standard. In short, IEEE is the copyright holder ("1008-1987 -
IEEE Standard for Software Unit Testing - IEEE Standard", 2018).
IEEE (Institute of Electrical and Electronic engineers) was the sole contributor for this
standard. There was a working group within the IEEE which was responsible for framing the
standard.
1. Introduction:
To understand standards in Software Testing, there is a need to look into viewpoints
related to producers and that of customers. A standard governs quality of particular software
and thus this can be considered as good thing from customer viewpoint. Standards are in the
form of published documents that specifies procedures and standards to ensure quality of
software and also ensures safety and reliability of it (Fuggetta & Di Nitto, 2014). The
research paper that is chosen discusses the growth or evolution of software testing. It
highlights the fact that as penetration of computers increased, cost of software failure also
increased and this resulted in the growth of testing. The paper outlines major testing models
and discusses national standards for software (Gelperin & Hetzel, 1988). The paper refers to
ANSI/IEEE standard. There are many standards under ANSI/IEEE standard. This report will
focus on IEEE 1008 unit testing standard. The will then try to answer some specific questions
about the chosen standard.
2. IEEE 1008 standard:
The first paragraph will provide the standard name. IEEE 1008 unit testing standard is
the chosen standard.
This paragraph will provide details about copyright holder for the given standard. A
task group of Institute of Electrical and Electronics Engineers (IEEE) technical committee
holds the copy right for this standard. In short, IEEE is the copyright holder ("1008-1987 -
IEEE Standard for Software Unit Testing - IEEE Standard", 2018).
IEEE (Institute of Electrical and Electronic engineers) was the sole contributor for this
standard. There was a working group within the IEEE which was responsible for framing the
standard.
3SOFTWARE TESTING STANDARDS
This portion will clarify about the scope of the standard. Before presenting the scope,
there is a need to understand software unit testing. This is a level of software testing. In this
level, individual units or components of particular software are tested. Unit testing is done
for the sole purpose of validating that each unit of software is functioning as designed
(Ammann & Offutt, 2016). A smallest testable part of software is unit. There are usually few
inputs and this result in a single output. For programming that is procedural, a unit is a
function, procedure or an individual program. In case of object oriented programming the
smallest unit is a method (Kim et al., 2013). The reason for this explanation is to make the
concept of unit testing clear as IEEE 1008 deals with unit testing. The primary aim of this
standard is to specify an approach that is standard to software unit testing and this can be
used as a basic framework for safe software engineering practice. The second objective for
this standard is to describe concepts relating to software engineering and testing assumptions
on which this standard is based on. The third scope for this standard is to assist with
information for implementation and also to provide guidance.
This paragraph will mention some key concepts that will help in understanding the
standard. Since, this deals with IEEE 1008 standard, users need to understand unit testing in
detail to implement the standard. As mentioned earlier unit testing is testing of individual
components of software. Unit testing is performed by using white box testing method. Unit
testing forms the first level of software testing and this performed before integration testing
(Jan et al., 2016). Unit testing is basically performed by developers or by independent
software testers. Unit testing task includes three parts namely Unit test plan, unit test cases
and unit test. Under Unit test plan there are four components- prepare, review, rework and
baseline. Under unit test cases there are also four components- Prepare, Review, Rework and
baseline. For the last part that is Unit test, it has only one component that is Perform. Unit
testing is done widely as there are several benefits. The first benefit of unit testing is that it
This portion will clarify about the scope of the standard. Before presenting the scope,
there is a need to understand software unit testing. This is a level of software testing. In this
level, individual units or components of particular software are tested. Unit testing is done
for the sole purpose of validating that each unit of software is functioning as designed
(Ammann & Offutt, 2016). A smallest testable part of software is unit. There are usually few
inputs and this result in a single output. For programming that is procedural, a unit is a
function, procedure or an individual program. In case of object oriented programming the
smallest unit is a method (Kim et al., 2013). The reason for this explanation is to make the
concept of unit testing clear as IEEE 1008 deals with unit testing. The primary aim of this
standard is to specify an approach that is standard to software unit testing and this can be
used as a basic framework for safe software engineering practice. The second objective for
this standard is to describe concepts relating to software engineering and testing assumptions
on which this standard is based on. The third scope for this standard is to assist with
information for implementation and also to provide guidance.
This paragraph will mention some key concepts that will help in understanding the
standard. Since, this deals with IEEE 1008 standard, users need to understand unit testing in
detail to implement the standard. As mentioned earlier unit testing is testing of individual
components of software. Unit testing is performed by using white box testing method. Unit
testing forms the first level of software testing and this performed before integration testing
(Jan et al., 2016). Unit testing is basically performed by developers or by independent
software testers. Unit testing task includes three parts namely Unit test plan, unit test cases
and unit test. Under Unit test plan there are four components- prepare, review, rework and
baseline. Under unit test cases there are also four components- Prepare, Review, Rework and
baseline. For the last part that is Unit test, it has only one component that is Perform. Unit
testing is done widely as there are several benefits. The first benefit of unit testing is that it
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
4SOFTWARE TESTING STANDARDS
increases confidence in maintaining code. There is a possibility that when good unit tests are
framed, users will be able catch any defects when they are run when a code is being changed.
Because of unit testing, codes are more reusable. Codes need to be modular for making unit
testing possible. Development is much faster when unit testing is implemented. Writing a test
takes considerable time but that time is compensated since it takes much less time to run the
test. When there is a defect, cost of fixing that defect is lesser when compared to defects
found at higher levels ("Unit Testing - Software Testing Fundamentals", 2018). In case of
Unit testing, debugging is very easy. If a test fails, developer needs to debug only the latest
changes. Lastly, for unit testing codes are more reliable when compared to other levels.
This portion will highlight what this standard does. This standard is in the form of a
document which was developed by IEEE standards association board. IEEE 1008 standard
was developed through a consensus development process which was further approved by
American national standard Institute ("IEEE 1008-1987 - IEEE Standard for Software Unit
Testing", 2018). This standard was made to ensure quality during unit testing of software.
This standard emphasizes some key concepts and this will be discussed. The first one is
integrity levels. This standard defines four integrity levels that range from high integrity to
low integrity. This basically describes the importance software based system and software to
the user. The second point mentions that rigor and integrity is applied to testing tasks.
Intensity and rigor that is applied to a testing task vary according to integrity levels (Yue et
al., 2016). This actually means that greater intensity is required for higher integrity levels.
Intensity mainly includes broader scope of testing across abnormal and normal operating
system. And for rigor, it includes recording procedures and formal techniques. The third thing
that this standard does is that it specifies criteria which are detailed in nature for testing tasks.
For each testing tasks, a specific criteria is defined such as recommending minimum criteria
such as consistency, correctness, accuracy, completeness, testability and readability. Required
increases confidence in maintaining code. There is a possibility that when good unit tests are
framed, users will be able catch any defects when they are run when a code is being changed.
Because of unit testing, codes are more reusable. Codes need to be modular for making unit
testing possible. Development is much faster when unit testing is implemented. Writing a test
takes considerable time but that time is compensated since it takes much less time to run the
test. When there is a defect, cost of fixing that defect is lesser when compared to defects
found at higher levels ("Unit Testing - Software Testing Fundamentals", 2018). In case of
Unit testing, debugging is very easy. If a test fails, developer needs to debug only the latest
changes. Lastly, for unit testing codes are more reliable when compared to other levels.
This portion will highlight what this standard does. This standard is in the form of a
document which was developed by IEEE standards association board. IEEE 1008 standard
was developed through a consensus development process which was further approved by
American national standard Institute ("IEEE 1008-1987 - IEEE Standard for Software Unit
Testing", 2018). This standard was made to ensure quality during unit testing of software.
This standard emphasizes some key concepts and this will be discussed. The first one is
integrity levels. This standard defines four integrity levels that range from high integrity to
low integrity. This basically describes the importance software based system and software to
the user. The second point mentions that rigor and integrity is applied to testing tasks.
Intensity and rigor that is applied to a testing task vary according to integrity levels (Yue et
al., 2016). This actually means that greater intensity is required for higher integrity levels.
Intensity mainly includes broader scope of testing across abnormal and normal operating
system. And for rigor, it includes recording procedures and formal techniques. The third thing
that this standard does is that it specifies criteria which are detailed in nature for testing tasks.
For each testing tasks, a specific criteria is defined such as recommending minimum criteria
such as consistency, correctness, accuracy, completeness, testability and readability. Required
5SOFTWARE TESTING STANDARDS
task inputs and outputs are included in testing task description (Singh et al., 2013). The fourth
point is systems viewpoint and this includes minimum testing tasks which are recommended
must respond to system issues. Finally, the standard also specifies the selection of test
documentation. Based on testing task associated with integrity level, content topics and type
of test documentation needs to be selected.
The relevance that this standard brings to the table for software testing is immense.
This standard specifies an approach which is integrated. It defines the approach to
documented unit testing and systematic unit testing. Unit design, unit requirements and unit
implementation is used for determining completeness for testing ("1008-1987 - IEEE
Standard for Software Unit Testing | Engineering360", 2018). Testing process here is
composed of multiple phases, tasks and activities. Minimum set of tasks for each activity is
defined. This standard can be applied to unit testing for any computer software and also
applies to testing of modified and developed units (Myers, Sandler & Badgett, 2014). For the
above mentioned reasons the relevance of this standard still counts to this day.
2.1 Discussion based on the research paper
The paper mentions that the development of IEEE standard was considered as a sign
of professional maturity. However, the research paper mentioned few drawbacks of the
implementation of the standard. Task group within the IEEE were tasked to frame the
standard. The best practices at that time were not standardized by the task group and instead
that task group tried to reach consensus on how the documentation for the test should be
done. A system of data structures was documentation and it was perceived like that. Major
difference exists between current practice and test documents which were defined in the
standard and this difference can be found out in the definition of the test plan. Several test
plans includes design and planning issues. Because of planning issues strategy choices are
limited. The research paper further implies that the unit testing standard requires test
task inputs and outputs are included in testing task description (Singh et al., 2013). The fourth
point is systems viewpoint and this includes minimum testing tasks which are recommended
must respond to system issues. Finally, the standard also specifies the selection of test
documentation. Based on testing task associated with integrity level, content topics and type
of test documentation needs to be selected.
The relevance that this standard brings to the table for software testing is immense.
This standard specifies an approach which is integrated. It defines the approach to
documented unit testing and systematic unit testing. Unit design, unit requirements and unit
implementation is used for determining completeness for testing ("1008-1987 - IEEE
Standard for Software Unit Testing | Engineering360", 2018). Testing process here is
composed of multiple phases, tasks and activities. Minimum set of tasks for each activity is
defined. This standard can be applied to unit testing for any computer software and also
applies to testing of modified and developed units (Myers, Sandler & Badgett, 2014). For the
above mentioned reasons the relevance of this standard still counts to this day.
2.1 Discussion based on the research paper
The paper mentions that the development of IEEE standard was considered as a sign
of professional maturity. However, the research paper mentioned few drawbacks of the
implementation of the standard. Task group within the IEEE were tasked to frame the
standard. The best practices at that time were not standardized by the task group and instead
that task group tried to reach consensus on how the documentation for the test should be
done. A system of data structures was documentation and it was perceived like that. Major
difference exists between current practice and test documents which were defined in the
standard and this difference can be found out in the definition of the test plan. Several test
plans includes design and planning issues. Because of planning issues strategy choices are
limited. The research paper further implies that the unit testing standard requires test
6SOFTWARE TESTING STANDARDS
summary report and test design specification. The research paper further states visibility is
the biggest difference between current practice and the standard. As far as commonalities are
concerned, the research paper describes that the standard specifies activities, tasks,
documents and phases that builds a unit testing effort. It also mentions that the standard for
unit testing stresses on the need for designing a test set.
3. Conclusion:
Based on findings and research it was found out that standard IEEE 1008 was framed
specifically for unit testing. It was also found out through thorough research that to
implement the standard users need to be aware of unit testing concepts. Unit testing concepts
and why it is beneficial for software testing have been explained in detail. The report
carefully addresses seven questions relating to the standard. The scope, copyright information
and the relevance of the standard have been addressed. Some drawbacks were identified with
the help of research paper. Therefore, it can be concluded that the relevance of IEEE 1008
standard is huge and the user needs to be aware of this standard to implement it in case of
software testing.
summary report and test design specification. The research paper further states visibility is
the biggest difference between current practice and the standard. As far as commonalities are
concerned, the research paper describes that the standard specifies activities, tasks,
documents and phases that builds a unit testing effort. It also mentions that the standard for
unit testing stresses on the need for designing a test set.
3. Conclusion:
Based on findings and research it was found out that standard IEEE 1008 was framed
specifically for unit testing. It was also found out through thorough research that to
implement the standard users need to be aware of unit testing concepts. Unit testing concepts
and why it is beneficial for software testing have been explained in detail. The report
carefully addresses seven questions relating to the standard. The scope, copyright information
and the relevance of the standard have been addressed. Some drawbacks were identified with
the help of research paper. Therefore, it can be concluded that the relevance of IEEE 1008
standard is huge and the user needs to be aware of this standard to implement it in case of
software testing.
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
7SOFTWARE TESTING STANDARDS
4. References:
Gelperin, D., & Hetzel, B. (1988). The growth of software testing. Communications of the
ACM, 31(6), 687-695.
1008-1987 - IEEE Standard for Software Unit Testing - IEEE Standard.
(2018). Ieeexplore.ieee.org. Retrieved 16 April 2018, from
https://ieeexplore.ieee.org/document/27763/
Ammann, P., & Offutt, J. (2016). Introduction to software testing. Cambridge University
Press.
Kim, Y., Kim, Y., Kim, T., Lee, G., Jang, Y., & Kim, M. (2013, November). Automated unit
testing of large industrial embedded software using concolic testing. In Automated Software
Engineering (ASE), 2013 IEEE/ACM 28th International Conference on (pp. 519-528). IEEE.
Jan, S. R., Shah, S. T. U., Johar, Z. U., Shah, Y., & Khan, F. (2016). An Innovative Approach
to Investigate Various Software Testing Techniques and Strategies. International Journal of
Scientific Research in Science, Engineering and Technology (IJSRSET), Print ISSN, 2395-
1990.
Unit Testing - Software Testing Fundamentals. (2018). Software Testing Fundamentals.
Retrieved 16 April 2018, from http://softwaretestingfundamentals.com/unit-testing/
IEEE 1008-1987 - IEEE Standard for Software Unit Testing. (2018). Standards.ieee.org.
Retrieved 16 April 2018, from https://standards.ieee.org/findstds/standard/1008-1987.html
Yue, T., Ali, S., Zhang, M., & Pradhan, D. (2016). Standardization Bodies and Standards
Relevant for Uncertainty Modelling. Simula Research Laboratory, Technical Report, 5, 2016.
4. References:
Gelperin, D., & Hetzel, B. (1988). The growth of software testing. Communications of the
ACM, 31(6), 687-695.
1008-1987 - IEEE Standard for Software Unit Testing - IEEE Standard.
(2018). Ieeexplore.ieee.org. Retrieved 16 April 2018, from
https://ieeexplore.ieee.org/document/27763/
Ammann, P., & Offutt, J. (2016). Introduction to software testing. Cambridge University
Press.
Kim, Y., Kim, Y., Kim, T., Lee, G., Jang, Y., & Kim, M. (2013, November). Automated unit
testing of large industrial embedded software using concolic testing. In Automated Software
Engineering (ASE), 2013 IEEE/ACM 28th International Conference on (pp. 519-528). IEEE.
Jan, S. R., Shah, S. T. U., Johar, Z. U., Shah, Y., & Khan, F. (2016). An Innovative Approach
to Investigate Various Software Testing Techniques and Strategies. International Journal of
Scientific Research in Science, Engineering and Technology (IJSRSET), Print ISSN, 2395-
1990.
Unit Testing - Software Testing Fundamentals. (2018). Software Testing Fundamentals.
Retrieved 16 April 2018, from http://softwaretestingfundamentals.com/unit-testing/
IEEE 1008-1987 - IEEE Standard for Software Unit Testing. (2018). Standards.ieee.org.
Retrieved 16 April 2018, from https://standards.ieee.org/findstds/standard/1008-1987.html
Yue, T., Ali, S., Zhang, M., & Pradhan, D. (2016). Standardization Bodies and Standards
Relevant for Uncertainty Modelling. Simula Research Laboratory, Technical Report, 5, 2016.
8SOFTWARE TESTING STANDARDS
Singh, S., Kaur, A., Sharma, K., & Srivastava, S. (2013). Software testing strategies and
current issues in embedded software systems. International Journal of Scientific &
Engineering Research, 3(4), 1342-1357.
1008-1987 - IEEE Standard for Software Unit Testing | Engineering360.
(2018). Reference.globalspec.com. Retrieved 16 April 2018, from
https://reference.globalspec.com/standard/9721/1008-1987
Myers, G. J., Sandler, C., & Badgett, T. (2014). The art of software testing. John Wiley &
Sons.
Fuggetta, A., & Di Nitto, E. (2014, May). Software process. In Proceedings of the on Future
of Software Engineering (pp. 1-12). ACM.
Singh, S., Kaur, A., Sharma, K., & Srivastava, S. (2013). Software testing strategies and
current issues in embedded software systems. International Journal of Scientific &
Engineering Research, 3(4), 1342-1357.
1008-1987 - IEEE Standard for Software Unit Testing | Engineering360.
(2018). Reference.globalspec.com. Retrieved 16 April 2018, from
https://reference.globalspec.com/standard/9721/1008-1987
Myers, G. J., Sandler, C., & Badgett, T. (2014). The art of software testing. John Wiley &
Sons.
Fuggetta, A., & Di Nitto, E. (2014, May). Software process. In Proceedings of the on Future
of Software Engineering (pp. 1-12). ACM.
1 out of 9
Related Documents
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024 | Zucol Services PVT LTD | All rights reserved.