U E ? • Issue is a unit of work to accomplish an improvement in a system • The word "issue" should not be misunderstood as just a synonym for "problem," as in other English usage • Issues are stored into issue trackers • Issues can be categorised into bugs, user stories, enhancements, tasks, epics, etc…
L E O F A B U G • Bug is born when QA person finds an error and reports it into a issue tracking • Issue has a description and steps how to reproduce the error • Issue gets a priority (blocker, major, minor, trivial) • New code is written to fix the error by developer • QA person verifies that the new change fixes the problem • Issue is closed by QA person
L E O F A U S E R S T O RY • User story is born when product owner writes a short story, describing a desired functionality • Issue has a description and other useful information (i.e. UI specs) • Priority is set by product owner (blocker, major, minor, trivial) • Depending on the issue complexity, it may be split into smaller issues by development team • Once the functionality is implemented, QA person verifies that the new functionality works are specified in the user story • Issue is closed
O N S • In order to perform useful software testing, you need to know how to system is supposed to work • Specifications must contain enough details so the project personnel understand what kind of software system they are building
I L D H A S M A N Y N A M E S • The specifications of the system are usually spread in many types of documentation • User Interface specifications • Requirements • User stories • Customer Journeys • Use cases • …..
F U N C T I O N A L I T Y • Specifications vs implementation • Does it work? • Does it follow the specifications? • “Test case” - Step by step instruction for testing the functionality
S & T E S T C A S E S • User stories can have several test cases • Happy case, empty state, error state • Test case is focused for testing one thing • Test cases are grouped in to a test suites
E S T S S H I P P I N G N E W V E R S I O N Each new release goes through a acceptance test If tests are green, release the new version Releasing new version should be routine, not drama.
U T O M AT I C • Test case can be tested manually or automatically • Automatic test is a piece of code that tests another piece of code that it works as specified • Leave the simple cases for test automation • Run automatic test cases every night to fight the regression
H R E A D I N G A F E W B L O G P O S T S • Integration tests • When two systems are integrated to work together, how can you be sure it works as intended? • Performance Tests • How many users your system can handle? What are the most performance intensive operations?