Your report should consist of the following chapters:1. A proper title which matches the contents of your report.2. Your name and Deakin student number in the author line.3. An executive summary which...

1 answer below »
Your report should consist of the following chapters:1. A proper title which matches the contents of your report.2. Your name and Deakin student number in the author line.3. An executive summary which summarises your findings. (You may need hints onwriting good executive summaries from http://unilearning.uow.edu.au/report/4bi1.html.)4. An introduction chapter which explains your chosen program, test methods and testtools. 5. A literature review chapter which surveys the latest academic papers regardingsoftware testing and testing tools which includes all papers listed below. You are advisedto identify and include more papers published by ACM and IEEE journals or conferenceproceedings. Your review must not simply be a summary of each paper, but rather a deepanalysis of the body of work reported in the set of paper. Your aim in this part of thereport is to demonstrate deep and thorough understanding of the existing body ofknowledge encompassing software testing. The minimum number of references for thisassignment is 20.6. An evaluation and justification of your chosen testing method and tool(s) based on theprogram.7. A conclusions chapter which summarises major findings of the study and indicatesfuture work which should be conducted in the area.8. A bibliography list of all cited papers and other resources. IEEE and Harvard arepreferred. Please prepare your references according to the guidance at http://www.deakin.edu.au/students/study-support/referencing


SIT707 - Software Quality and Testing 2019T2 Assignment 1 1 SIT707 Software Quality and Testing 2019 T2 Assignment 1 - A Report of Black Box (or Equivalent) Testing (20 marks) Due Date: 4:00 pm, Wednesday, August 7, 2019 Submission: a report file in PDF format prepared according to the following objectives and problem statement. Objectives 1. To understand the critical issues in software testing, focusing on black box testing. (You can focus on black-box testing techniques to design and execute your test cases in Assignment 1. Then, in Assignment 2, you can focus on white-box testing techniques and integration testing techniques to conduct an overall evaluation of software quality.) 2. To demonstrate the ability to research and apply proper techniques to detect bugs. 3. To write a proper essay for a specific topic and presenting/arguing the findings. Problem Statement Selenium, JUnit, TestNG and Yasca are automation testing frameworks widely used by the industry. You are required to demonstrate your ability of correctly identifying which testing method along with testing tool(s) to use to perform a test on a selected program. You have been given a program along with this assignment question as an example of the programs you can use for purpose of assignments of this unit. The taxMe program mimics some basic Australian taxation rules by calculating the taxable annual income based on four input variables including salary, medicareLevy, TBRLevy(Temporary budget repair levy), and Lilevy (Lowincome levy). The output of the program will be the amount of the payable tax and the income after tax. It calculates the payable tax using the rules below: Please note that provided program is just an example of what you can use. It is your 1. If your annual income is less than $18,200, you do not need to pay any tax. 2. If your income is between $18,201 and $37,000, you have to pay 19% for the amount that exceeds the tax-free threshold, which is $18,200. 3. If your income is between $37,001 and $80,000, you have to pay $3572 plus 32.5% for the amount that exceeds $37,001. 4. If your income is between $80,001 and $180,000, you have to pay $17,547 plus 37% for the amount that exceeds $80,001. 5. If your income is more than $180,000, you have to pay $54,547 plus 45% for the amount that exceeds $180,000. 6. There are levies applicable to each stage of tax, each will make subtle changes to your payable tax:  medicareLevy will introduce a 2% increase on the tax.  Lilevy will offset the first taxable tier to $20,543 instead of $18,200.  TBRlevy will introduce a further 2% increase, however, it can only be applied to the top tier of income earners. SIT707 - Software Quality and Testing 2019T2 Assignment 1 2 choice to use this program or any other program with the same level of complexity including a web application that is freely available. If it is a web application please include the URL in the report. If you use a different program that is not accessible to the teaching staff via the Internet, please only use an open source program and include its source repository link in the report. Also, note that you need to use the same program you choose in this assignment for your assignment 2. Upon satisfactory completion of this assignment, you will be able to conduct basic level research in software engineering, analyse gathered information, and communicate your findings. To demonstrate your achievement of these goals, you must write a 3,000-word report. Your report should consist of the following chapters: 1. A proper title which matches the contents of your report. 2. Your name and Deakin student number in the author line. 3. An executive summary which summarises your findings. (You may need hints on writing good executive summaries from http://unilearning.uow.edu.au/report/4bi1.html.) 4. An introduction chapter which explains your chosen program, test methods and test tools. 5. A literature review chapter which surveys the latest academic papers regarding software testing and testing tools which includes all papers listed below. You are advised to identify and include more papers published by ACM and IEEE journals or conference proceedings. Your review must not simply be a summary of each paper, but rather a deep analysis of the body of work reported in the set of paper. Your aim in this part of the report is to demonstrate deep and thorough understanding of the existing body of knowledge encompassing software testing. The minimum number of references for this assignment is 20. 6. An evaluation and justification of your chosen testing method and tool(s) based on the program. 7. A conclusions chapter which summarises major findings of the study and indicates future work which should be conducted in the area. 8. A bibliography list of all cited papers and other resources. IEEE and Harvard are preferred. Please prepare your references according to the guidance at http://www.deakin.edu.au/students/study-support/referencing List of Papers [1]Altaf, J.A. Dar, F.u. Rashid and M. Ra q, “Survey on selenium tool in software testing,” Green Computing and Internet of Things (ICGCIoT), 2015 International Conference on, Noida, 2015, pp.1378-1383. [2]Holmes and M. Kellogg, “Automating functional tests using Selenium,” AGILE 2006 (AGILE' 06), Minneapolis, MN, 2006. [3] A.M.F.V. de Castro, G.A. Macedo, E.F. Collins and A.C. Dias-Neto, “Extension of Selenium RC tool to perform automated testing with databases in web applications,” Automation of Software Test (AST), 2013 8th International Workshop on, San Francisco, CA, 2013, pp. 125-131. http://www.deakin.edu.au/students/study-support/referencing SIT707 - Software Quality and Testing 2019T2 Assignment 1 3 [4]Radu Banabic and George Candea. 2012. “Fast black-box testing of system recovery code.” In Proceedings of the 7th ACM European conference on Computer Systems (EuroSys '12). ACM, New York, NY, USA, pp. 281-294. [5] E. Murphy-Hill, T. Zimmermann, C. Bird and N. Nagappan, “The Design Space of Bug Fixes and How Developers Navigate It,” in IEEE Transactions on Software Engineering, vol. 41, no. 1, 65-81, Jan. 1 2015. [6] D. Xu, W. Xu, B.K. Bavikati and W.E. Wong, \Mining Executable Specifications of Web Applications from Selenium IDE Tests,", 2012 IEEE Sixth International Conference on Software Security and Reliability (SERE), Gaithersburg, MD, 2012, pp. 263-272. [7] J. Bau, E. Bursztein, D. Gupta and J. Mitchell, “State of the Art: Automated Black-Box Web Application Vulnerability Testing,” 2010 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 2010, pp. 332-345. [8] Le and J.T. Ray eld, “Web-application development using the Model/View/Controller design pattern,” Proceedings. of the Fifth IEEE International Enterprise Distributed Object Computing Conference (EDOC'01), Seattle, WA, 2001, pp. 118-127. [9] Cox, M.G. and Harris, P.M., 1999. “Design and use of reference data sets for testing scientific software.” Analytica Chimica Acta, 380(2), pp.339-351. [10] Kelly, D., Thorsteinson, S. and Hook, D., 2011. “Scientific software testing: analysis with four dimensions.” IEEE software, 28(3), pp.84-90. [11] Kanewala, U. and Bieman, J.M., 2014. “Testing scientific software: A systematic literature review." Information and software technology 56(10), pp. 1219-1232. [12] Hinsen, K., 2015. “The approximation tower in computational science: Why testing scientific software is difficult.” Computing in Science & Engineering, 17(4), pp. 72-77. [13] Bertolino, A., 2007, May. “Software testing research: Achievements, challenges, dreams.” In 2007 Future of Software Engineering (pp. 85-103). IEEE Computer Society. [14] Hook, D. and Kelly, D., 2009, May. “Testing for trustworthiness in scientific software.” In Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering (pp. 59-64). IEEE Computer Society. [15] Joppa, L.N., McInerny, G., Harper, R., Salido, L., Takeda, K., O'Hara, K., Gavaghan, D. and Emmott, S., 2013. “Troubling trends in scientific software use.” Science, 340(6134), pp. 814-815. Submission details: You must submit an electronic copy of your assignment files (in PDF or Microsoft Word format) via CloudDeakin. Assignments will not be accepted through any other manner and email and paper based submissions will be rejected. Delays caused by student's own computer downtime cannot be accepted as a valid reason for late submission without penalty. Students must plan their work to allow for both scheduled and unscheduled downtime. Plagiarism & Collusion: This is an individual assignment. You are not permitted to work as a part of a group when writing this assignment. Plagiarism is the submission of somebody else’s work in a manner that gives the impression that the work is your own. For individual assignments, plagiarism includes the case where two or more students work collaboratively on the assignment. The School of Information Technology treats plagiarism very seriously. When it is detected, penalties are strictly imposed. Deakin University uses Turnitin as the program that allows you to check whether there is any unoriginal material in your work, please refer to http://www.deakin.edu.au/students/clouddeakin/help-guides/assessment/plagiarism. http://www.deakin.edu.au/students/clouddeakin/help-guides/assessment/plagiarism SIT707 - Software Quality and Testing 2019T2 Assignment 1 4 Marking Scheme: Please refer to Assignment 1 rubric Rubric Assessment Rubric Name: Assignment 1: Software Testing Investigation Report Criteria Proficient (above 16) Satisfactory (12.5 – 16) Marginal (10 – 12.4) Below expectation (0 – 10) Literature Review 5 points Collect and record self- determined information from self-selected sources, choosing or devising an appropriate methodology with self- structured guidelines; Organise information
Answered Same DayAug 06, 2021

Answer To: Your report should consist of the following chapters:1. A proper title which matches the contents of...

Amit answered on Aug 07 2021
153 Votes
43012/43012.docx
Title of the assignment: Software Quality and Testing 2019 T2
Student’s name:
Student ID:
Professor’s name:
Course title: SIT707 (Assignment -1)
Date: 8/7/2019
Executive summary
When it comes to development of any application, then, the most important activity followed is its testing. The proposed outcome and actual outcome of the developed application are mainly compared in testing to find the bugs in it. The testers follow different strategies and techniques like black and white box testing as well as certain strategies for finding the errors. For completing my assignment, the testing of supplied program with different tax calculations is mainly done in here. I have used JUnit testing strategy which is associated in net beans for completing the testing process of this assignment task. With help of JUnit, I try to find all possible bugs and correct them so that the required outcome of this tax program can be obtained. The complete program of tax calculation is tested with all possible phases as per the defined test cases in my complete work of this assignment. The improvements and corrections in any program are not possible without making a proper testing of that application. The program or application has to follow the standards like IEEE and ISO so that its quality can be assured. By using all these standards we can assure the quality of any application results. I make a complete review of already published paper on testing so that I can carry out the proper testing for this given program. The logical execution of this program and actual execution on net beans helps me to complete the testing for matc
hing the required outcome of results in effective and desired manner. The required corrections in this tested program are decided by me on bases of completed literature review of already published paper. The proper references are always helps in maintaining the quality of application especially related to testing. The testing is carried out for satisfaction of all developed test cases defining the rule set for this application. I created the required scenarios so that I can complete the all possible testing meeting the required outcome in this program. Thus, it is high learning activity for testing the application for tax calculation.
Table of Contents
1.    Introduction    4
2.    Test cases and their conditions for this program    5
3.    Performed testing to developed and supplied program with defined TC    6
4.    Literature reviews of existing article/paper    11
5.    Evaluation Justification    14
6.    Conclusion of testing report    15
7.    References:    17
1. Introduction
The modern world of technology is effectively and frequently changing and more advance technologies are coming so that advance application with high accuracy can be developed. The modern applications are developed for users working on different platforms. Modern user wants to use the same application on mobile as well as on the desktop system. Thus, maintaining high accuracy on different platforms of execution increases the work load on testers of that application. The machine learning and artificial intelligence are collectively increasing the automated testing processes and applications for the testers. The programmers of application and its testers make use of all possible applications and testing strategies so that quality of that application can properly maintain. The end user wants the proper results and to assure the results, testers carry out all tests on that application and when the testers is fully assured related to results then the beta version of that application is supplied to end users for test purpose. On the bases of client report towards the beta version, the developers and testers work to remove the identified bugs in that application. So, making a bug free application for client use is main responsibility of testers. If the released application for client uses is having issues and required outcomes are not assured to client then it is big loss to the testers of that application. The application developers make selection of development language and platform based on easy recovery of identified errors. The modern testers also use automated tools like JUnit which comes with the used IDE for reducing their testing efforts and increasing the accuracy of the developed application. So, for the supplied program to calculate accurate tax below listed and explained tools are used:
1. As JUnit is already exists in net beans and in net beans we can easily develop and execute any java program, so, net beans is used by me.
2. For testing any application, the selection of deployment and testing methodology plays important role, thus, agile methodology is being selected by me.
3. The provided plug-ins of this selected IDE (net beans) is also used with implementation of TDD.
2. Test cases and their conditions for this program
For assuring the quality implementation of any application and testing that different conditions are set y testers and these conditions are called test cases. The table maintaining all possible test cases to this assignment is shown under with its allocated numbers:
        Sr. No.
        Test case No.
        Test case
        1.
        TC1
        Any tax is not payable by user when the income is less than $18200.
        2.
        TC2
        The user has to pay 19% of his/her income as tax for income $18201 - $37000.
        3.
        TC3
        The user has to pay 32.5% + $3572 of his/her income as tax for income $37001 - $80000.
        4.
        TC4
        The user has to pay 37% + $17547 of his/her income as tax for income $80001 - $180000.
        5.
        TC5
        The user has to pay 45% + $54547 of his/her income as tax for income above $180000.
So, with these defined conditions, the complete testing is carried out on net beans with association of automated JUnit testing.
3. Performed testing to developed and supplied program with defined TC
As the required test conditions are defined in the respective test cases, so, I am initiating the testing process on net beans. The screen shot showing execution of each test condition are:
· The IDE of net beans is properly downloaded and installed.
· I have created a package “taxMe” to complete tests on it.
· The provided files are loaded in this IDE.
· To start testing with JUnit visit tools bar and select tools menu.
· The creation of automated test cases and their execution is:
I am starting the testing process with main() class by making the required changes:
public class Main {
    public static void main(String[] args)
{
        int income = 25000; // The value of user income is changed by me. By doing so, I am checking the correct output of program with defined test conditions.
        int age = 45;
        boolean medicareLevy = true;
        boolean TBRLevy = true;
        boolean LILevy = true;
        GeneralTaxationRule generalTaxationRule = new GeneralTaxationRule(income, age, medicareLevy, TBRLevy, LILevy);
        System.out.println(generalTaxationRule.getTax());
        System.out.println(generalTaxationRule.getActualIncome());
    }
}
At the initial stage, I am checking the condition for no tax, so, the initial value of user income is assumed as $18000. The test screen for this condition is represented underneath:
Obtained testing script for this condition is represented underneath:
As this condition is showing the correct output of tax calculation, thus, I can say that the program is correct for this condition. Now, I check the correctness of this program with increased values. The test screen for this condition is represented underneath:
As this condition is showing the correct output of tax calculation, thus, I can say that the program is correct for this condition. Now, I check the correctness of this program with increased values. The test screen for this condition is represented underneath:
As this condition is showing the correct output of tax calculation, thus, I can say that the program is correct for this condition. Now, I check the correctness of this program with increased values. The test screen for this condition is represented underneath:
So, any error or bug is not reported during the testing process of this main() class. Now the second class is also requires testing and errors shown while execution are:
Result 1:
Result 2:
Result 3:
As so many possible errors are occurring in this file and I have corrected all errors in this program. The corrected program is also supplied with this report.
4. Literature reviews of existing article/paper
Making review of already existing work done by anyone else on the specific topic always helps in making knowledge improvement for the reviewer and this process is reviewing the existing literature. I have done this literature review to improve my skills towards testing approaches. By performing this literature review, I can make finding of some new things which is left in this existing work. I will follow the sequential approach to write this literature review related to paper on testing. The selected paper for this literature review is supplied underneath:
Lewandowski, N., & Duran, D. (2018). Testing speech perception today and tomorrow: serious computer games as perception tests. In Proceedings of the 29. Conference of Electronic Signal Processing (ESSV) in Ulm. Studientexte zur Sprachkommunikation (No. 90).
As this paper is very latest and I can review it to improve my knowledge towards testing for maintaining the quality of any application. The performed literature review on this paper is shown in below sequential steps:
1. Abstract: The analysis process where the accuracy and correct outcome of application is measured on set standards and rules is called testing process. The testing helps in finding the occurred errors and bugs in selected application. For measuring the application robustness, most of the testers use black box testing as the main testing technique. The selected paper for development of this literature review mainly works on automated techniques to maintain the working of injection methods. The database (Mongo DB) with AFEX is effectively checked for the testing of applications in this paper.
2. Introduction: Performing tests on any application requires selection of testing method and in this selected paper fault injection is used as the selected method. Authors are using this technique for making an error free environment for all developed application by conducting effective test on it. The correct path and followed steps to develop application are effectively measured in fault injection. As the supplied application is related to financial activities and tax so, it becomes essential for tester to test the database connectivity and applied rules so that proper tax can be calculated for individual income. The fault injection can easily check the connection issues and taken backup for future uses. For ensuring the successful test conduction, most of the testers use black box and this ensures the effective execution of database which may be of any type. The use of fault injection through ad banners leads to effective testing of any application which may be tax calculation or any other database application. The testers can also check the connectivity with the internet through conducting this type of testing. The testers can also observer the application behavior through making proper analysis of testing. The selection of testing technique most be done properly otherwise the conducting testing cannot lead to required results. The use of automated testing applications is also increasing. Maintaining records of conducted tests will helps in increasing the reliability of testing related to any application. Most of the testers develop test matrix for maintaining the records related to all developed application.
3. Key wards: AFEX, mongo DB, test cases.
4. Performed analysis: The quality assurance of any application like tax calculation is most important and AFEX can easily assure it. The correct path and followed steps to develop application are effectively measured in fault injection. As the supplied application is related to financial activities and tax so, it becomes essential for tester to test the database connectivity and applied rules so that proper tax can be calculated for individual income. The fault injection can easily check the connection issues and taken backup for future uses. The AFEX believes in proper quality and customer satisfaction by supplying the desired results. The main problem occurred with AFEX is that it is not suitable with identical fault conditions. The AFEX does not maintain any redundancy in the developed code of application when identical faults occurred for any application. AFEX maintains the effective and required separate source code language to perform effective tests for the application. Because of automated tests provided by the AFEX, the tester with simple skills can also test the required application on easy bases. The AFEX provides effective generation of all possible test cases in automated manner. AFEX conducts fault injection on direct bases to the developed code of the application and makes records of all performed observations in easy manner. This technique maintains an effective configuration of the application of different platforms and records the behavior of the application on different selected working platforms. Before making the client delivery of the application, the proper testing is conducted with this technique and make fixing to all occurred and identified issues. The below listed steps are mainly followed for completing the testing of any application with this AFEX technique:
1. To implement the fault injection required plug-ins are maintained by AFEX.
2. The design and definition of required impact matrix is carried out.
3. Proper maintenance of knowledge documents related to tested domain is carried out.
4. The time to conduct tests is defined with help of testing script.
5. Completes the analysis of application based on set test cases.
5. Conclusion: The testing with automated testing methods is increasing its reputation and role of AFEX is also increasing. The minimum requirement of testing skills and easy implementation and conducting of test cases makes it most suitable for the application like the supplied one. The bug report maintained in implication matrix increases it reliability for future uses.
5. Evaluation Justification
For all developed application which may be related to any domain the definition of requirement and their collection defined in SOP plays the most important role for testing that application. All the required and essential tests are conducted for the developed application with the help of SOP defining requirement specification. For conducting the testing of application requirements the testers makes use of different application and some of them are paid application and some are freely available. The testing can define the scope of requirements and implementation of specific application with its execution nature. The net beans IDE is selected because it is having JUnit associated with it for improved results of testing. The conducted tests with JUnit do not makes any affect to original code and all work are done on different dummy code, so this makes justification to my selection related to toll and testing method. I can easily conduct the required black box testing and can measure the possible robustness of this application for my clients. On the bases of client report towards the beta version, the developers and testers work to remove the identified bugs in that application. So, making a bug free application for client use is main responsibility of testers. If the released application for client uses is having issues and required outcomes are not assured to client then it is big loss to the testers of that application. The application developers make selection of development language and platform based on easy recovery of identified errors. The modern testers also use automated tools like JUnit which comes with the used IDE for reducing their testing efforts and increasing the accuracy of the developed application.
6. Conclusion of testing report
The testers follow different strategies and techniques like black and white box testing as well as certain strategies for finding the errors. For completing my assignment, the testing of supplied program with different tax calculations is mainly done in here. I have used JUnit testing strategy which is associated in net beans for...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here