a document that describes the requirements for the SOFTWARE or functionality.
The mismatch between expected result
Showing compliance with software specification and implementation
Full-fledged work at which all functionality of the new software is checked.
Checking your code at run time
Analyze code without executing it
Finding errors and checking the correct implementation of code algorithms
Check user input, input modes, data display. When testing an interface, it is possible to test the internal code and algorithms, but interface testing cannot be used to perform a full-fledged test quickly and efficiently.
Tests are grouped by modules, the so-called unit testing
Tests are grouped by functionality and depend on the software project
With documents: * Price list * Invoices * Accounts * Warehouse operations Work with transport: * email * tcp/ip * ftp With data warehouse * SQL * oracle * firebird * file * local * Network File System * Cloud
Test multiple applications simultaneously
Warning, planned imposition of tests, before writing the code. Tests are written before the code is written. Used to write code by specification.
Tests are imposed at the time of writing the code or immediately after the end. Tests are used to test and debug functionality, is a set of data, mainly for debugging functionality.
Test coverage of long-written functionality. Is used mostly when is happening accumulation defects “snowball” and company is limited in any resources (temporary, financial, human). Or when the company applies a quality control system.
Prepared pseudo-working data. This is the correct data for acceptance testing, showing compliance with the specification and implementation of the software.
Если результат выполнения функционала совпадает с эталоном, то тест считает пройденным
if (2+2=4) then result:=trOk;
Когда результат выполнения отличается эталона, то это считается ошибкой
if (2+2=5) then result:=trError;
The condition under which the functional must return an error when executed. If the test returned an error, the test is passed.
Example: 4/0=4 there must be a division by zero error If the code under test returns Exception, means test will pass. When you specify registration IRegisterMethodParams you must specify that there should be an exception trException
// Registration method IRegisterMethod(tmDiv ,'tmDiv' ,'Test Div operation');// Test methods // Registration params IRegisterMethodParams([4,0],[4],'4 div 0 = 4 (!) trException it''s Ok',trException); // Exception = Ok
All tests are performed using manual actions only.
Tests are run only programmatically
Small manual changes in automated tests. For example in TestCode during testing you can change the number of repetitions
All tests are run in order.
Performed in random order. Random execution can be of several kinds:
This test execution order applies to integration testing
Check for compliance with technical requirements, conduct a performance degradation assessment: A graph is drawn up, the limits of effective work, identifying critical boundaries, calculating the exponent of reduced performance, determining the weakest link, finding solutions if load testing does not meet the requirements
Checking how fast the work with the processing and transmission of data with the reference volume is performed:
Speed is tested with increasing data volume
Check for an increase in the number of concurrent instances of the software
What depends on us
We can't explicitly affect the reduction and correction of errors, but we can test for the parameters we need