Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Objectives: The main objective of this assignment is to assess the students ability to provide a complete Black-Box testing plan for a computer program. Description:

Objectives: The main objective of this assignment is to assess the students ability to provide a complete Black-Box testing plan for a computer program. Description: In this assignment, you will need to design a complete Black-Box testing plan for the following program. Researchers are preparing a simulation of an ecosystem, consisted of foxes evolving in an environment. To initialize the system, a population of foxes with randomly generated attributes must be created. You have been tasked with outputting such a population sample, where foxes have unique ids, starting from 0 and incrementing by 1, x and y coordinates, age, health (1-10), and gender. Furthermore, the population must follow the constraints of the environment, which will have a grid size (x and y scalars) which will be determined by the user. The environment will also have one of the following climate types: tropical, temperate, or tundra. The health of the foxes will depend on age and climate. All foxes younger than 3 must have health from 7 to 10. Alternatively, the climate becomes the principal factor. For tundra climates, extreme conditions persist on the northern-most part of the grid (top 20% of y coordinates) resulting in health ratings ranging from 1 to 4. For foxes older than 3 that live on other parts of the grid, health ranges from 4 to 7. For tropical climates, the same applies but for the southern-most part of the grid(lower 20% of y coordinates). For temperate climates, there are no extremes, but the animals health tends to deteriorate after 5 years, resulting to health ratings ranging from 1 to 4. Otherwise, 4 to 7 is the standard range. User must input the following: Environment: tundra, temperate, or tropical Grid size x:

Grid size: y Population size: Maximum animal age: Age, gender (50/50 chance split), coordinates, health must be randomly generated without violating any conditions specified above. Use this information, to create a Black-Box testing plan for the program. Task: You must design a complete Black-Box testing plan for the given program. Your task is to apply what you have learned about black-box testing techniques to develop a full suite of test data for this program. Use the template file provided in the Instructions and supporting files on BlackBoard to organize your tests and test data. Submission notes: Submit a single file (text, MS word, or pdf). Name your file Assg3_cslogin, where the cslogin is your login ID for the computers at the Department of Computer Science at ODU. Your file must include the following four sections with test data for each: 1. Test data that covers representative inputs 2. Test data that provides functional coverage 3. Test data that provides for boundary-values testing 4. Test data that implements special-values testing Submit your file in the respective Blackboard

THE CODE THAT WAS PROVIDED

Blackbox testing

Thank you in advance!

#include #include #include #include #include #include using namespace std; struct Animal { int x; int y; int age; int health; int id; string gender; }; struct Environment { string climate; int num_foxes; int grid_size_x; int grid_size_y; Animal *foxes; }; int GetRandomBetween(int floor, int ceiling); Animal CreateAnimal(int min_age, int max_age, int id, int gridx, int gridy, string climate); string GetGender(); void GeneratePopulations(Environment& env); Environment GenerateEnvironment(); int GetHealth(string climate, int age, int grid_x, int grid_y, int x, int y); void PrintAnimals(Animal *animals, int size); int main() { srand (time(NULL)); Environment env = GenerateEnvironment(); GeneratePopulations(env); return 0; } int GetRandomBetween(int floor, int ceiling) { return floor + (rand() % static_cast(ceiling - floor + 1)); } Animal CreateAnimal(int max_age, int id, int gridx, int gridy, string climate) { Animal animal; animal.age = GetRandomBetween(1, max_age); animal.x = GetRandomBetween(0, gridx); animal.y = GetRandomBetween(0, gridy); animal.health = GetHealth(climate, animal.age, gridx, gridy, animal.x,

animal.y); animal.id = id; animal.gender = GetGender(); return animal; } string GetGender() { int g = GetRandomBetween(0,10); if(g>5) return "f"; else return "m"; } void GeneratePopulations(Environment& env) { int max_age; pop_size: cout<>env.num_foxes; if(cin.fail()==true || env.num_foxes<0) { cout<<"Error Enter Value Again"<>max_age; if(cin.fail()==true || max_age<1) { cout<<"Error Enter Value Again"<

cin>>env.climate; if(env.climate == " " || (env.climate !="temperate" && env.climate ! ="TEMPERATE" && env.climate !="Temperate" && env.climate !="Tundra" && env.climate !="tundra" && env.climate !="TUNDRA" && env.climate != "TROPICAL" && env.climate != "tropical" && env.climate !="Tropical" )){ cout<<"Please select from among specified options"<>env.grid_size_x; if(env.grid_size_x<1) { cin.clear(); cin.ignore(10000, ' '); goto gr_x; } gr_y: cout<>env.grid_size_y; if(env.grid_size_y<1) { cin.clear(); cin.ignore(10000, ' '); goto gr_y; } return env; } //health ranges from 0 to 10 int GetHealth(string climate, int age, int grid_x, int grid_y, int x, int y) { if(age<=3) //young ones will always have good health return GetRandomBetween(7,10); if(climate == "tundra" || climate == "TUNDRA") { if(y/grid_y >=.8) //for tundra the extremes are in the far north so that's where lowest health will be return GetRandomBetween(1,4); else //rest is average health return GetRandomBetween(4, 7); } else if(climate == "temperate" || climate == "TEMPERATE") {

//extremes are non-existent but older generations are not resilient and will always have good health if(age>5) return GetRandomBetween(1,4); else GetRandomBetween(4,7); } else if(climate == "tropical" || climate == "TROPICAL") { if(y/grid_y <=.2) //extremes are in the south return GetRandomBetween(1,4); else //rest is average health return GetRandomBetween(4, 7); } } void PrintAnimals(Animal *animals, int size) { cout<

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Security

Authors: Alfred Basta, Melissa Zgola

1st Edition

1435453905, 978-1435453906

More Books

Students also viewed these Databases questions

Question

= 4. What are the characteristics of a good team mission statement?

Answered: 1 week ago