Skip to content
#QualityAssurance

Black box testing (Black-Box Testing: Techniques for Functional Testing of Software and Systems)

#QualityAssurance #Software #SoftwareDevelopment

I read this book by Dr. Boris Beiser a little less. 20 Years ago, I realized that testing is not easy:) The author talked about this in this book, drawing on graph theory, actively using predicate logic and utterance logic, actively appealing to threads of execution and data flows. In general, this approach to functional testing seemed to me much more complicated than is usually used in practice:) In addition, the author decided to test with the help of a black box the form for the tax return in the United States. 1995 When the English version of the book was published, it was not slim and logical. (To put it bluntly, it looked like a crazy layering "so historically it has been."). As a result, the book is now useful as a stand for a cup of coffee or as a reminder of why I call the cool testers quality assurance. engineer:)

Below are the chapters of the book so that you can assess for yourself how practical and understandable it is. 0. Readme.doc (Description of the book and mindmap with the connection of chapters among themselves)

  1. Introduction (Testing strategies, tester and programmer roles, software development processes)
  2. Counts and relationships (Graph theory and how to use it for testing)
  3. Control flow testing (predicates and the program execution stream in the form of a graph appear here, how to choose the testing paths)
  4. Cycle testing (what cycles are: deterministic and not, nested and using goto, how to choose test values)
  5. Testing data flows (Discussion is similar to control flow testing)
  6. Testing transaction flows (Markov chains appear, as well as queues and hierarchical models, synchronization models, etc.)
  7. Domain testing (Here, pieces of matane appear to test the limit values of numerical domains, epsilon neighborhood, etc.)
  8. Syntactic testing (Here we need to know the basics of the theory and implementation of programming languages, or at least about Backus-Naur grammar and its use in testing.)
  9. Testing of systems with a finite number of states (Here you need to know about finite automata, how they can be visualized in the transition table and how to use it for testing.)
  10. Tools and automation (They didn't. 30 years ago)

In general, taking this book off the shelf today and flipping through, I realized that I was embarrassed about it - I and I 20 Years ago, I didn’t catch the book’s target audience. In fact, only a person with a very good background in computer science can read, understand and use these approaches. And such a person is likely to go to write production code, rather than write functional tests using a black box.

#QualityAssurance #Software #SoftwareDevelopment