TL;DR
In order to do excellent software testing in Agile project, software tester must understand definitions. This post explains Behavior Software testing approach aligned with Black Box Software Testing Foundations course (BBST) created by Rebecca Fiedler, Cem Kaner and James Bach.
Definition
Behavior testing approach is focused on the observable behavior of the product.
This is another name for gray box software testing, but in my opinion is much better name because part of definition is encoded in the name. Your testing approach is to investigate product behavior, using not just interaction with product, but also our knowledge of product code.
Example
Lets take that product under test is TripAdvisor application. TripAdvisor is the largest travel website in the world, with more than 315 million reviewers (active and inactive) and over 500 million reviews of hotels, restaurants, attractions and other travel-related businesses.
You are testing Where To Near By Feature on Desktop and Phone version. By knowing TripAdvisor internals, you know that your location is determined on Desktop by your IP address, and on Phone by GPS coordinates.
Example of possible test is to change towns with mobile app (testing during your vacation), or on Desktop, you can use proxies from different countries. You observe given result. But you also noticed one side feature, “Where To” shows your travel history!
And this “surprise” is what makes software testing interesting, exciting and important part of Agile project.