Артем Кошелев "Качество кода автотестов"

Post on 15-Jun-2015

1.104 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

И разработчики, и тестировщики пишут автотесты. Но почему-то редко кто задумывается, что этот код тоже нужно будет поддерживать и развивать. В докладе рассказано про практики, используемые автоматизаторами Яндекса, которые помогают писать хорошие автотесты.

TRANSCRIPT

Я.Субботник, Санкт-Петербург, 30 июня 2012 года

Ведущий инженер по тестированию Артём Кошелев

Качество кода авто-тестов

2

3

4

5

6

7

Станда́рт оформле́ния ко́да (станда́рт

коди́рования, стиль программирования) — набор

правил и соглашений, используемых при

написании исходного кода на некотором языке

программирования. Наличие общего стиля

программирования облегчает понимание и

поддержание исходного кода, написанного

больше чем одним программистом, а так же

облегчает сотрудничество нескольких человек в

развитии одного программного обеспечения.

8

Обычно стандарт имеет целью добиться такого

положения, когда программист достаточной

квалификации мог бы дать заключение о

функции, выполняемой конкретным участком

кода, а в идеале — также определить его

корректность, изучив только сам этот участок

кода или, во всяком случае, минимально изучив

другие части программы.

9

10

11

private String strMessage;

private Integer iHeight;

12

private BigBen londonClock;

13

People.description

14

people.getDescription()

15

16

if (…)

..{

.....<>

..}

17

if (…)

........{

........<>

........}

18

if (…)

{

........<>

}

19

if (…){

........<>

}

20

try {

elem.setHeader(selenium.getText(“css=#name”);

try {

elem.setLink(getHref(“css=#id@href”);

list.add(elem);

}

catch (SeleniumException e) {

log.error(“Не удалось извлечь ссылку!”);

}}

catch (SeleniumException e) {

log.error(“Не удалось извлечь заголовок ссылки!”); }

21

try {

elem.setHeader(selenium.getText(“css=#name”);

try {

elem.setLink(getHref(“css=#id@href”);

list.add(elem);

}

catch (SeleniumException e) {

log.error(“Не удалось извлечь ссылку!”);

}}

catch (SeleniumException e) {

log.error(“Не удалось извлечь заголовок

ссылки!”);

}

22

try {

elem.setHeader(selenium.getText(“css=#name”);

try {

elem.setLink(getHref(“css=#id@href”);

list.add(elem);

} catch (SeleniumException e) {

log.error(“Не удалось извлечь ссылку!”);

}

} catch (SeleniumException e) {

log.error(“Не удалось извлечь заголовок

ссылки!”);

}

23

24

25

drawSprite(53, 320, 240)

26

final int SCR_WIDTH = 640;

final int SCR_HEIGHT = 480;

final int SCR_X_CENTER =

SCR_WIDTH/2;

final int SCR_Y_CENTER =

SCR_HEIGHT/2;

final int SPRITE_CROSSHAIR = 53;

drawSprite(SPRITE_CROSSHAIR,

SCR_X_CENTER,

SCR_Y_CENTER);

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

try {

.

.

.

} catch (Exception e) {

}

60

if (…………………) {

fail(“Aaaaaaaaaaaa”

} else {

.

.

.

}

61

assertTrue(“Сообщение об

ошибке”, true);

62

public static final String

SAINT_PETERSBURG = “Киев”;

63

64

65

66

Вопросы?

67

Ведущий инженер по тестированию

artkoshelev@yandex-team.ru

@art_koshelev

Артём Кошелев

top related