Successfully reported this slideshow.
Upcoming SlideShare
×

# Тестировать код? Легко!

394 views

Published on

Доклад Татьяны Криулиной на конференции SQA Days-21

Published in: Education
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

### Тестировать код? Легко!

1. 1. Software quality assurance days 21 Международная конференция по вопросам качества ПО sqadays.com Москва. 26–27 мая 2017 Криулина Татьяна ООО «Векон», г.Кольчугино, Россия Тестировать код? Легко! (Easy white-box testing)
2. 2. Тестировать код? Легко! (Easy white-box testing)
3. 3. Тестировать код? Легко! (Easy white-box testing) Pseudocode, Code Documenter Answer call on ring and notify “Busy” if no response.
4. 4. Тестировать код? Легко! (Easy white-box testing) Flowcharts, Block-Schemas, UML diagrams
5. 5. Тестировать код? Легко! (Easy white-box testing) Call Tree, Ref&Dep diagrams, CRUD matrix
6. 6. Тестировать код? Легко! (Easy white-box testing) LOC, Params <
7. 7. Тестировать код? Легко! (Easy white-box testing) Cyclomatic Complexity CC = Edges – Junctions + 2*Coherences
8. 8. Тестировать код? Легко! (Easy white-box testing) Halstead Volumes HV = ( TNOpr + TNOpd ) * log2 ( DNOpr + DNOpd ) Number of delivering bugs depends on: TNOpr – total number of operators TNOpd – total number of operands DNOpr – number of distinct operators DNOpd – number of distinct operands PrL = TNOpr + TNOpd PrVoc = DNOpr + DNOpd
9. 9. Тестировать код? Легко! (Easy white-box testing) Maintainability Index MI = 171 - 5.2 * ln(HV) - 0.23 * CC - 16.2 * ln (LOC) + 50 * sin(sqrt(2.4 * COM))
10. 10. Тестировать код? Легко! (Easy white-box testing) Code Metrics
11. 11. Тестировать код? Легко! (Easy white-box testing) Code Audit <> Unit Testing + Program lang knowledge - Unit test, program language + Auto-tests existent - Create auto-tests + Actual version always - Update unit tests regularly + Free utilities - Standalone unit-tester +/- Regress, stress-checks + Regress, stress-tests + Maintainability forecast - Forecast of Code changing + Full project scan - One unit + Standard code review rules - Gather/create own code review rules - No project adopted + Own unit-test sources