MITS5002 Software Engineering: Test Automation and TDD Research Report

Verified

Added on  2023/01/05

|9
|2166
|92
Report
AI Summary
This report examines Test Automation and Test-Driven Development (TDD) as crucial methodologies in software engineering. It explores the concept of TDD, where tests are written before code to prevent duplication and ensure early defect detection. The report discusses the intention and content of the article, highlighting the evolution from traditional test tools to the TDD approach. It details the benefits of TDD, such as continuous quality assurance and instant feedback, as well as its limitations, like potential code duplication. The analysis covers various testing techniques, including Basic Test and Script Technique, along with the role of test case generators. Furthermore, it emphasizes the importance of managerial support and the use of C++ in TDD, concluding that TDD is a significant approach for early error detection and improved software quality. The report references relevant academic papers to support its findings.
Document Page
Running head: TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
Name of the student:
Name of the university:
Author Note:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
Table of Contents
1.0 Introduction..........................................................................................................................2
2.0 Intention and Content of Article..........................................................................................2
3.0 Conclusion............................................................................................................................5
4.0 References............................................................................................................................7
Document Page
2TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
1.0 Introduction
Test Driven Development is depicted as the programming practice that involves the
procedure of providing instructions to the developers in respect to the write significant new
codes if the procedure of the automation test fails. This procedure will prevent the duplicate
writing of the codes. The concept of TDD deals with the fact that the significant code is
written as well as tested for the detection of any type of failure while the codes are in
execution. This will apparently avoid the code duplication and this is due to the fact that
significant small amount of code is written at a particular time. This will help the tests to pass
in a significant time thus adhering the correctness of the code. The further part of the report
will deal with the significant discussions that are required to understand the concept of test
automation and its associated methodologies.
2.0 Intention and Content of Article
The significant intention of the article is to depict the overall concept of the test
driven methodology related to the testing of the written codes. There was a methodology that
was used before the introduction of this type of concept that is identified as the Test Tool.
This tool processes the executable parts of a written code thus adhering the mistakes with the
proper communication in regards to the other components associated with the code. This is
carried out by the tool using interfaces that are identified to be common. This test tool was
provided with a name that is defied to be Daily Test [1]. This tool has the capability to
execute significant scripts that possess simple compounds along with the loads of component,
thus sending them a sequence of significant requests thus helping them to execute the
commands. But the tool was found to be limited in many aspects, the most important being
the fact that there was no proper integration in respect to the development processes. Thus, it
Document Page
3TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
was identified by the significant software department that the change in the tool as well as the
processes may be able to amplify the efficiency of the test.
The first strategy that was adhered by the department consisted of the fact that the
testing of the software components that are mostly isolated is to be carried out. This is
depicted as the Basic Test, and the important purpose of this method is to verify the overall
design specification. However, this testing methodology is not identified as a white box
testing procedure. This is because that this technique of software testing uses the overall
components associated with the interfaces tends to hide the design present within the internal
components [5]. This procedure of testing is carried out by the effective software testing team
in regards to the fact that it is not always cost effective for the developers to check each class
or method present within the whole software code. With the help of this procedure, it is very
easy to identify as well as verify the overall executable and the XML requests within the
components.
To assure the integrity of the overall tool to carry out the testing procedure effectively
the developers introduced a new format of software testing that is depicted as the test driven
development. The significant difference of TDD with respect to the typical test procedure is
that the developers associated with the software development write the tests before the codes
are being written. Moreover, most of the developers depict the TDD to be a design technique
rather than a test technique. The overall purpose of test-driven development is depicted to be
the fact that it relatively simplifies the significant designs as well as ensures that the scope of
implementation is to be explicit [8]. The significant advantage that is identified in regards to
the TDD is that it allows the continuous assurance of the quality of the software thus helping
the developers to carry out the writing of the code effectively. This helps the developers to
identify any single flaw within the code instantly thus making it correct immediately that will
be effective to the overall software coding methodologies. This provides instant feedback in
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
respect the flaws present within the code thus ensuring the overall defects to be acclaimed by
the development of the software teams. This further tends to ensure the quality of the overall
software that is to be delivered to the respective clients. If an organization deploys the
methodology of the automated testing cycle late within the development procedure it is
depicted that the overall flaws within the system will be identified before the software is to be
delivered to the customers.
The negative significance associated with the TDD is that the test cases duplicates the
amount of the significant code that is primarily difficult to write as well as maintain. By the
usage of the TDD, the software developers identify the significant defects in respect to the
codes that are written by the software developers instantly thus comparing the overall classes
[3]. This will help the department to maintain a track of the overall failures within the project.
This helps the organization to lead the successful delivery of the project. Moreover, the TDD
is mostly used by the organization in the fact that the risk associated with the Basic Test are
decreased in respect to the usage of TDD.
The methodology uses a capture relay that is identified to be a significant tool, which
records the overall actions that are performed by the testers manually such as the GUI events.
However, this is identified not as a good approach in respect to the TDD technique [7]. Thus,
the test cases are not easy to maintain in respect to the TDD techniques. The significant
approach in respect to the TDD technique is depicted to be the Script Technique. Various
dimensions are related to the specific mechanism of the script techniques. These dimensions
are stated to be the simple scripts; standard scripts as well as the scripts control flows as well
as actions. The most significant automation tools that are used within the TDD methodology
is depicted to be the test cases generators [10]. These generators exists in various formats that
are depicted to be the structural generators, data flow generators, functional generators as
Document Page
5TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
well as test data generators. These generators provide cost effective results, however these
results are to be manually added by the developers.
The significant product that is provided by the software department is to be matured
enough in respect to the clients that are provided with the automated efforts in respect to
development procedure [2]. The significant verification lead-time of the automated
procedures are depicted to be useful for the successful delivery of the product thus adhering
the overall testing flaws within the test automation procedures [6]. The significant managers
associated with the overall usage of the test methods must be associated with the test costs
that are required to perform the tests within the product. Moreover, with the help of the TDD
the product maturity is also enhanced with the help of the useful execution tools that helps the
overall test methodologies to be associated with the TDD procedure.
Thus, the overall usage of the TDD focuses on the usage of the C++ language and this
is familiar to the language used by the software developers to write the code, which makes it
simple to use by the developers to identify the flaws within the code [4]. Moreover, the
developers significantly use this tool as it helps with the overall testing before the code is
written. The tool helps the test cases to be driven by the design thus making it straightforward
with the help of the explicit scope [9]. The prime function of TDD is said to be the fact that it
helps with the error detection very earlier rather than the development process. In respect to
the stated benefits it is depicted that the TDD is a significant approach in respect to the
testing of the code thus analysing them for the prospects of the flaws within the code.
3.0 Conclusion
Thus, it can be depicted from the overall report that the usage of the TDD is a
significant approach used by the software developers that helps them to detect the flaws
within a software earlier when the code is being written. Moreover, the methodology is
Document Page
6TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
limited to perform sufficient testing at some situations thus providing a decrease in the
determination of the success as well as failure of the code written by the developers. In
addition to this the managerial support of the overall organization is very necessary as the
improvement of the product is associated with the stated methodology. Thus it may be
concluded that the usage of the TDD is significant to carry out testing in certain situations
and utilising this procedure it would be very easy to detect the reasons earlier thus leading the
product to be successful. This methodology enhances the overall testing procedure of the
software codes that are related to the different software products associated with various
organizations.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
4.0 References
[1] L. Damm, L. Lundberg and D. Olsson, Introducing Test Automation and Test-Driven
Development: An Experience Report. ELSEVIER, pp. 3-15, 2019.
[2] D. Fucci, H. Erdogmus, B. Turhan, M. Oivo and N. Juristo, A dissection of the test-driven
development process: does it really matter to test-first or to test-last?. IEEE Transactions on
Software Engineering, 43(7), pp.597-614, 2016.
[3] W. Bissi, A.G.S.S. Neto and M.C.F.P. Emer. The effects of test driven development on
internal quality, external quality and productivity: A systematic review. Information and
Software Technology, 74, pp.45-54, 2016.
[4] C.M. Keet and A. Ɓawrynowicz. Test-driven development of ontologies. In European
Semantic Web Conference, (pp. 642-657). Springer, Cham, 2016, May.
[5] S. Demeyer, B. Verhaeghe, A. Etien, N. Anquetil and S. Ducasse. Evaluating the
efficiency of continuous testing during test-driven development. In 2018 IEEE Workshop on
Validation, Analysis and Evolution of Software Tests (VST), (pp. 21-25). IEEE, 2018, March.
[6] S. Romano, D. Fucci, G. Scanniello, B. Turhan and N. Juristo. Findings from a multi-
method study on test-driven development. Information and Software Technology, 89, pp.64-
77, 2017.
[7] A. Nanthaamornphong and J.C. Carver. Test-Driven Development in scientific software:
a survey. Software Quality Journal, 25(2), pp.343-372, 2017.
[8] A. Tosun, M. Ahmed, B. Turhan and N. Juristo. On the effectiveness of unit tests in test-
driven development. In Proceedings of the 2018 International Conference on Software and
System Process, (pp. 113-122). ACM, 2018, May.
Document Page
8TEST AUTOMATION AND TEST DRIVEN DEVELOPMENT
[9] D. Clerissi, M.Leotta, G. Reggio and F. Ricca. Test driven development of web
applications: A lightweight approach. In 2016 10th International Conference on the Quality
of Information and Communications Technology (QUATIC), (pp. 25-34). IEEE, 2016,
September.
[10] G. Scanniello, S. Romano, D. Fucci, B. Turhan and N. Juristo. Students' and
professionals' perceptions of test-driven development: a focus group study. In Proceedings of
the 31st Annual ACM Symposium on Applied Computing, (pp. 1422-1427). ACM, 2016,
April.
chevron_up_icon
1 out of 9
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]