Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave

Copyright Holder

Discuss about the Software Testing Strategies and Current Issues.

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.

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.

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.

Scope of the Standard

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

Key Concepts

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.

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

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.

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 https://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.

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.

Cite This Work

To export a reference to this article please select a referencing stye below:

My Assignment Help. (2019). Software Testing Strategies And Current Issues - Discussion And Analysis. Retrieved from https://myassignmenthelp.com/free-samples/software-testing-strategies-and-current-issues.

"Software Testing Strategies And Current Issues - Discussion And Analysis." My Assignment Help, 2019, https://myassignmenthelp.com/free-samples/software-testing-strategies-and-current-issues.

My Assignment Help (2019) Software Testing Strategies And Current Issues - Discussion And Analysis [Online]. Available from: https://myassignmenthelp.com/free-samples/software-testing-strategies-and-current-issues
[Accessed 25 April 2024].

My Assignment Help. 'Software Testing Strategies And Current Issues - Discussion And Analysis' (My Assignment Help, 2019) <https://myassignmenthelp.com/free-samples/software-testing-strategies-and-current-issues> accessed 25 April 2024.

My Assignment Help. Software Testing Strategies And Current Issues - Discussion And Analysis [Internet]. My Assignment Help. 2019 [cited 25 April 2024]. Available from: https://myassignmenthelp.com/free-samples/software-testing-strategies-and-current-issues.

Get instant help from 5000+ experts for
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing: Proofread your work by experts and improve grade at Lowest cost

loader
250 words
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Plagiarism checker
Verify originality of an essay
essay
Generate unique essays in a jiffy
Plagiarism checker
Cite sources with ease
support
Whatsapp
callback
sales
sales chat
Whatsapp
callback
sales chat
close