o Part 1: Perform Static Black-Box testing on the Software Requirements Specification for FileAmber Be sure...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
o Part 1: Perform Static Black-Box testing on the Software Requirements Specification for FileAmber Be sure you thoroughly review the posted materials for Week 1 & Week 2 before you start this assignment. Many issues regarding Static Black-Box testing of requirements statements are found there, as well as sample Static Black-Box requirements testing checklists that you may draw from. Carefully review the accompanying software requirements specification ("Software Requirements Specification for FileAmber.pdf"). That document is posted with this assignment. Identify 5 unique Static Black-box "defects" found during your review of the FileAmber Requirements Document. Static Black-Box Testing - Testing a Requirements Specification & Static White-Box Testing - Code Inspection and Coding Standards Review You should submit a spreadsheet of 5 unique defects found during your Static Black-Box testing. Your issues should be recorded in a spreadsheet as follows (the defects listed here are made up fo example purposes and are unrelated to our SRS document). Defect Date/Time Tester ID Entered Name BBT 01 BBT_02 BBT_03 BBT 04 12/27/23 2:42 pm 12/28/23 12:12 pm 12/28/23 10:33 am 12/29/23 11:40 am ... Tom Hagen Sal Tessio Johnny Fontane Tom Hagen ... Source Section & Page Section 3.10, Pg 14 Section 5.1, Pg. 21 Section 2.4 (Pg.19) & Section 2.29 (Pg. 22). Section 4, Page 30 Problem Description Processing speed is specified as "fast" - this is un-quantified and un- measurable All GUI windows are required to be "intuitive". This is not measurable as specified. Section 2.29 indicates that there are no specific memory requirements for the application, but section 2.4 specifically limits the application's memory footprint. Reference is made to a function & GUI window called "Export Library", but no other references to that functionality appear in the SRS. Suggested Resolution Processing speed should be specified using measurable terms. More specific GUI guidelines should be specified that result in the expected "intuitive" nature Clarify this inconsistency. Update to include the memory limitations, or remove those limitations from section 2.4 Either remove references to the "Export Library" function, or completely specify the requirements of that feature. Severity (L/M/H) Low Low Med High Part 2: Perform Static White-Box testing on a selection of java classes: (using the java Price class) As with Part 1, be sure you thoroughly review the posted materials for Week 1 & Week 2 before you start this assignment. Many issues regarding Static White-Box testing of requirements statements are found there, as well as sample Static White-Box testing checklists that you may draw from. Carefully review the code of the provided class: Price.java - found at the end of this document. Identify 4 unique Static White-Box "defects" found during your review of the provided class. You should submit a spreadsheet of 4 unique defects found during your Static White-Box testing. Your issues should be recorded in a spreadsheet as follows (the defects listed here are made up for example purposes and are unrelated to our java classes). Problem Description SRS Date/Time Tester Defect Entered ID WBT_01 WBT 02 WBT_03 WBT 04 12/27/23 2:42 pm 12/8/23 2:12 pm 12/8/23 1:33 pm 12/11/23 4:40 pm Emilio Movie.java Barzini Line #114 Kay Adams Carlo Rizzi Class & Line Number Johnny Fontane MovieManager.java Line # 22 Movie.java Line #173 MovieRecommender.java Line # 353 Accessor "getData" is returning actual reference to private data object "dataElement", not a copy. Using" to compare 2 Strings in method "updateRole" Suggested Resolution "getData" should be modified to return a copy of data object "dataElement". Change to use ".equals" In method "findGenres", the "for" loop counter is loop counter modified within the loop in do not mis-use the addition to the for-loop auto increment. Local variable "image" in method "getImage" can be used without being initialized - this will lead to a Null Pointer Exception Use an independent counter as needed, Initialize "image" to the appropriate initial default value. Severity Low If you do not understand anything in this handout, please ask. Otherwise the assumption is that you understand the content. Unsure? Ask! Med Med High Submissions & Grading Submissions are only accepted via D2L. One submission per student. Submission should include your 2 spreadsheets only (in Excel or PDF format). No other documents needed. (NOTE: If you generate a PDF, please check to see if the PDF is concise and readable - not spread across many pages) Late submissions will be accepted up to 1 week late, with a late submission penalty of 10%. Grading will be based upon the accuracy, clarity, thoroughness, and coverage of your defect spreadsheets. package price; import price.exceptions. InvalidPriceOperation; /** * The Price class will represent a single price value and should contain functionality * used with prices (math operations, comparison operations, etc.). Price values should be stored as an integer (the total number of cents in the price) to avoid decimal precision issues. * * -Prices can be positive, negative, or zero. * -For example, $12.99 would be 1299 cents, $50.00 would be 5000 cents, etc. * -A Price object should be immutable - once set, the value cannot be changed. A new object would be created to represent a new price value. * * -Note: the Price class should implement the Comparable so that it can be value-compare * and sorted with other price objects. * Note: If null is passed into any of the methods that take a Price parameter, it should throw Invalid PriceOperation (an exception class that you will create). * */ public class Price implements Comparable { private int value; // the total number of cents in the price. Should not be changed once set Price(int valueIn) { // constructor that takes an int value and stores it as the price value= valueIn; } public boolean isNegative() { // Returns true if the price is negative, false otherwise. return value < 0; } public Price add (Price p) throws Invalid PriceOperation { // Returns a new Price object holding the sum of the current price plus // the price object passed in. if (p== null) { throw new Invalid PriceOperation ("Cannot add null to a Price object"); } int results value + p.value; return new Price(results); } public Price subtract (Price p) { // Returns a new Price object holding the difference between the current // price minus the price object passed in. int results = value - p.value; return new Price (results); } public Price multiply (Price p) throws InvalidPriceOperation { // Returns a new Price object holding the product of the current price // and the integer value passed in. } value *= p.value; return new Price (value); public boolean greaterOrEqual (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is greater than or equal to // the Price object passed in. if (p == null) { throw new InvalidPriceOperation ("Cannot check greater than or equal with a null"); } public boolean lessor Equal (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is less than or equal to the // Price object passed in. if (p== null) { throw new InvalidPriceOperation ("Cannot check less than or equal with a null"); } } return value >= p.value; public boolean greater Than (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is greater than // the Price object passed in. if (p== null) { throw new InvalidPriceOperation("Cannot check greater than with a null"); } } return value >= p.value; } public boolean less Than (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is less than the // Price object passed in. if (p == null) { throw new Invalid PriceOperation ("Cannot check less than with a null"); } } return value > p.value; } return value > p.value; @Override public boolean equals (Object o) { // Returns true if the current Price object equals the Price object passed in // where equals refers to the price value). This overrides "equals" from Object. if (this 0) return true; == if (o == null || getClass() != 0.getClass()) return false; (Price) o; Price price return value ==price.value; @Override public int compareTo(Price p) { // Return the difference in cents between the current price object and the // price object passed in. Here, if the Price parameter is null, return -1. // (Specified in the Comparable interface.) if (p = null) return -1; return (int) (value - p.value); } @Override public String toString() { // Return a string containing the price value formatted as $d*.cc. // For example; $50.00, $12.34, $321.10, etc. double d = (double) value / 100.0; return String.format("$%,. 2f", d); } o Part 1: Perform Static Black-Box testing on the Software Requirements Specification for FileAmber Be sure you thoroughly review the posted materials for Week 1 & Week 2 before you start this assignment. Many issues regarding Static Black-Box testing of requirements statements are found there, as well as sample Static Black-Box requirements testing checklists that you may draw from. Carefully review the accompanying software requirements specification ("Software Requirements Specification for FileAmber.pdf"). That document is posted with this assignment. Identify 5 unique Static Black-box "defects" found during your review of the FileAmber Requirements Document. Static Black-Box Testing - Testing a Requirements Specification & Static White-Box Testing - Code Inspection and Coding Standards Review You should submit a spreadsheet of 5 unique defects found during your Static Black-Box testing. Your issues should be recorded in a spreadsheet as follows (the defects listed here are made up fo example purposes and are unrelated to our SRS document). Defect Date/Time Tester ID Entered Name BBT 01 BBT_02 BBT_03 BBT 04 12/27/23 2:42 pm 12/28/23 12:12 pm 12/28/23 10:33 am 12/29/23 11:40 am ... Tom Hagen Sal Tessio Johnny Fontane Tom Hagen ... Source Section & Page Section 3.10, Pg 14 Section 5.1, Pg. 21 Section 2.4 (Pg.19) & Section 2.29 (Pg. 22). Section 4, Page 30 Problem Description Processing speed is specified as "fast" - this is un-quantified and un- measurable All GUI windows are required to be "intuitive". This is not measurable as specified. Section 2.29 indicates that there are no specific memory requirements for the application, but section 2.4 specifically limits the application's memory footprint. Reference is made to a function & GUI window called "Export Library", but no other references to that functionality appear in the SRS. Suggested Resolution Processing speed should be specified using measurable terms. More specific GUI guidelines should be specified that result in the expected "intuitive" nature Clarify this inconsistency. Update to include the memory limitations, or remove those limitations from section 2.4 Either remove references to the "Export Library" function, or completely specify the requirements of that feature. Severity (L/M/H) Low Low Med High Part 2: Perform Static White-Box testing on a selection of java classes: (using the java Price class) As with Part 1, be sure you thoroughly review the posted materials for Week 1 & Week 2 before you start this assignment. Many issues regarding Static White-Box testing of requirements statements are found there, as well as sample Static White-Box testing checklists that you may draw from. Carefully review the code of the provided class: Price.java - found at the end of this document. Identify 4 unique Static White-Box "defects" found during your review of the provided class. You should submit a spreadsheet of 4 unique defects found during your Static White-Box testing. Your issues should be recorded in a spreadsheet as follows (the defects listed here are made up for example purposes and are unrelated to our java classes). Problem Description SRS Date/Time Tester Defect Entered ID WBT_01 WBT 02 WBT_03 WBT 04 12/27/23 2:42 pm 12/8/23 2:12 pm 12/8/23 1:33 pm 12/11/23 4:40 pm Emilio Movie.java Barzini Line #114 Kay Adams Carlo Rizzi Class & Line Number Johnny Fontane MovieManager.java Line # 22 Movie.java Line #173 MovieRecommender.java Line # 353 Accessor "getData" is returning actual reference to private data object "dataElement", not a copy. Using" to compare 2 Strings in method "updateRole" Suggested Resolution "getData" should be modified to return a copy of data object "dataElement". Change to use ".equals" In method "findGenres", the "for" loop counter is loop counter modified within the loop in do not mis-use the addition to the for-loop auto increment. Local variable "image" in method "getImage" can be used without being initialized - this will lead to a Null Pointer Exception Use an independent counter as needed, Initialize "image" to the appropriate initial default value. Severity Low If you do not understand anything in this handout, please ask. Otherwise the assumption is that you understand the content. Unsure? Ask! Med Med High Submissions & Grading Submissions are only accepted via D2L. One submission per student. Submission should include your 2 spreadsheets only (in Excel or PDF format). No other documents needed. (NOTE: If you generate a PDF, please check to see if the PDF is concise and readable - not spread across many pages) Late submissions will be accepted up to 1 week late, with a late submission penalty of 10%. Grading will be based upon the accuracy, clarity, thoroughness, and coverage of your defect spreadsheets. package price; import price.exceptions. InvalidPriceOperation; /** * The Price class will represent a single price value and should contain functionality * used with prices (math operations, comparison operations, etc.). Price values should be stored as an integer (the total number of cents in the price) to avoid decimal precision issues. * * -Prices can be positive, negative, or zero. * -For example, $12.99 would be 1299 cents, $50.00 would be 5000 cents, etc. * -A Price object should be immutable - once set, the value cannot be changed. A new object would be created to represent a new price value. * * -Note: the Price class should implement the Comparable so that it can be value-compare * and sorted with other price objects. * Note: If null is passed into any of the methods that take a Price parameter, it should throw Invalid PriceOperation (an exception class that you will create). * */ public class Price implements Comparable { private int value; // the total number of cents in the price. Should not be changed once set Price(int valueIn) { // constructor that takes an int value and stores it as the price value= valueIn; } public boolean isNegative() { // Returns true if the price is negative, false otherwise. return value < 0; } public Price add (Price p) throws Invalid PriceOperation { // Returns a new Price object holding the sum of the current price plus // the price object passed in. if (p== null) { throw new Invalid PriceOperation ("Cannot add null to a Price object"); } int results value + p.value; return new Price(results); } public Price subtract (Price p) { // Returns a new Price object holding the difference between the current // price minus the price object passed in. int results = value - p.value; return new Price (results); } public Price multiply (Price p) throws InvalidPriceOperation { // Returns a new Price object holding the product of the current price // and the integer value passed in. } value *= p.value; return new Price (value); public boolean greaterOrEqual (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is greater than or equal to // the Price object passed in. if (p == null) { throw new InvalidPriceOperation ("Cannot check greater than or equal with a null"); } public boolean lessor Equal (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is less than or equal to the // Price object passed in. if (p== null) { throw new InvalidPriceOperation ("Cannot check less than or equal with a null"); } } return value >= p.value; public boolean greater Than (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is greater than // the Price object passed in. if (p== null) { throw new InvalidPriceOperation("Cannot check greater than with a null"); } } return value >= p.value; } public boolean less Than (Price p) throws Invalid PriceOperation { // Returns true if the current Price object is less than the // Price object passed in. if (p == null) { throw new Invalid PriceOperation ("Cannot check less than with a null"); } } return value > p.value; } return value > p.value; @Override public boolean equals (Object o) { // Returns true if the current Price object equals the Price object passed in // where equals refers to the price value). This overrides "equals" from Object. if (this 0) return true; == if (o == null || getClass() != 0.getClass()) return false; (Price) o; Price price return value ==price.value; @Override public int compareTo(Price p) { // Return the difference in cents between the current price object and the // price object passed in. Here, if the Price parameter is null, return -1. // (Specified in the Comparable interface.) if (p = null) return -1; return (int) (value - p.value); } @Override public String toString() { // Return a string containing the price value formatted as $d*.cc. // For example; $50.00, $12.34, $321.10, etc. double d = (double) value / 100.0; return String.format("$%,. 2f", d); }
Expert Answer:
Related Book For
Income Tax Fundamentals 2013
ISBN: 9781285586618
31st Edition
Authors: Gerald E. Whittenburg, Martha Altus Buller, Steven L Gill
Posted Date:
Students also viewed these algorithms questions
-
Planning is one of the most important management functions in any business. A front office managers first step in planning should involve determine the departments goals. Planning also includes...
-
Use any method to determine if the series converges or diverges. Give reasons for your answer. n10 10" n=1
-
An electric charge on the y axis oscillates sinusoidally about the origin. A distant observer is located at a point on the +x axis. (a) In what direction will the electric field oscillate at the...
-
In exchange for a $23,000 payment today, a well-known company will allow you to choose one of the alternatives shown in the following table. Your opportunity cost is 9%. Alternative...
-
Use computer software to work Exercise 12.37. Data From Exercise 12.37 12.37 An experimenter wants to compare the time to failure y after rebuilding a robotic welder by three different methods but...
-
The company ABC, L.C. manufactures some products with an average sales price of 25/unit, with fixed annual costs of 110,000. The average unit variable costs are 5. DEVELOP a) At what volume of...
-
In the "Stakeholder Analysis in Projects" article this week, the authors Jepsen and Eskerod (2008) found that the "guidelines provided in current literature are far too general to be useful for...
-
The majority of forensic accounting practice involves the valuation of some type of damages or value of a business. Economic damages are a salient service provided by forensic accountants. Lost...
-
Imagine the university that employs you as an information security professional has recently identified the need to design and build a digital forensic laboratory. You have been tasked with designing...
-
Data from the current year-end balance sheets Assets Cash Accounts receivable, net Merchandise inventory Prepaid expenses Plant assets, net Total assets Liabilities and Equity Current liabilities...
-
Two point charges lie on the x axis. A charge of +2.60 PC is at the origin, and a charge of 4.80 pC is at x = -13.0 cm Part A What third charge should be placed at x = +20 cm so that the total...
-
TB MC Qu. 5-165 (Algo) On August 1, 2024, a company lends cash and accepts...\ On August 1, 2024, a company lends cash and accepts a $16,000 note receivable that offers 8% interest and is due in nine...
-
Write informal negations of each statement. a. "Some dogs are unfriendly." b. "All cats love dogs." c. "All mice fear cats." d. "There is a mouse that loves a cat."
-
A) Dependency Identification Use the below block of RISC-V assembly. 1 addi a3, zero, 1 2 blt a0, a3, .L_EXIT_Z 3 addi a6, zero, -1 4 mv a2, zero 5 .L_LOOP: 6 lw a4, 0(a1) 7 mv a5, a3 8 blt a3, a4,...
-
Paragon Company would like to estimate production costs on an annual basis. Costsincurred for direct materials and direct labor are variable costs. The accounting records indicate that thefollowing...
-
Ex. (17): the vector field F = x i-zj + yz k is defined over the volume of the cuboid given by 0x a,0 y b, 0zc, enclosing the surface S. Evaluate the surface integral ff, F. ds?
-
Quince Corporation has taxable income of $450,000 for its 2012 calendar tax year. Calculate the corporation's income tax liability for 2012 before tax credits. $_________
-
Indicate whether each of the items listed below would be included (I) in or excluded (E) from gross income for the 2012 tax year. ________a. Welfare payments ________b. Commissions ________c. Hobby...
-
The following additional information is available for the Dr. Ivan and Irene Incisor family from Chapters 1 and 2. On September 1, Irene opened a retail store that specializes in sports car...
-
Diehl Cleaners has the following statement of financial position items. Instructions Classify each item as an asset, liability, or equity. Analyze the effect of transactions. Accounts payable Cash...
-
Erin Danielle, the bookkeeper for Liverpool Ltd., has been trying to determine the correct statement of financial position for the company. The companys statement of financial position is shown...
-
Which of the following is true? a. Financial frauds have not occurred in U.S. companies because GAAP has detailed accounting and disclosure requirements. b. Transaction analysis is basically the same...
Study smarter with the SolutionInn App