Chapter 3 Exercises

Q. 1
"Test Automation software is the best way to increase the effectiveness, efficiency and coverage of your software testing"(SmartBear, 2019).

Testerst automate tests in an automated testing tool because is able to playback pre-recorded and predefined actions, compare the results to the expected behavior and report the success or failure of these manual tests to a test engineer.
Automated tests differ from manual testing where a human being is responsible for single-handedly testing the functionality of the software in the way a user would. Because automated testing is done through an automation tool, less time is needed in exploratory tests and more time is needed in maintaining test scripts while increasing overall test coverage.

Q. 1.1
False sense of quality
Not reliable
Automation is not testing
Demands Maintenance Time and Effort
Slow feedback
Not many bugs found
Q. 2
Inheritance has resulted in some issues involved in testing of object-oriented software to be different from the testing issues of conventional software. In order to handle the testing issues of object-oriented software, conventional software testing tools have to be adapted or new tools need to be developed.
“To test a component you must be able to control its input and observe its output” (Binder, 2019).
Observability: refers to ease of determining if specified inputs affect the outputs; controllability refers to the ease of producing a specified output from a specified input.
Controllability: We define control condition as the condition that is difficult-to-test, as state of software required for its execution is difficult-to-create from user interface of software. The state that is difficult-to-create from user interface of software is defined as control state.
Q. 3 & Q. 4
GitHub Team Repository

Q. 6
A) A test that does not reach the fault: Testing with n=0 or any other value that is not an integer.
B) A test that reaches the fault but does not infect: Testing with n<19.
C) A test that infects the star but does not propagate Any test that creates a faulty array (doesnt contain 19,29,etc.), where n>=19. But does not calls for iterator() nor toString().
D) A test that propagates but does not reveal A test where computePrimes(n) is called where n>=19 and iterator() is called with the resulting array, but toString() isn't.
E) A test that reveals the fault A test that calls every method.




Popular posts from this blog

Week 1 Plan

Intro to DevOps

Week 1 Plan and Review