Перейти к содержимому

Публикации Azart

14 публикаций создано Azart (учитываются публикации только с 20 апреля 2023)


#66123 Требуется QA-аналитик

Отправлено автор: Azart 20 марта 2009 - 08:24 в Работа/Москва

Екатерина, а почему написано "Аналитик", хотя перечеслены обязанности тестировщика?



#63922 Analysis показывает разное время для одного транзактора

Отправлено автор: Azart 25 декабря 2008 - 10:26 в Hewlett-Packard (Mercury) - Тестирование производительности

Замечено, что если проводить нагрузку в одной сети без интернет соединения, то данные не разнятся. В моём же случае: Тестироемое приложение и генераторы находятся в одной сети, а управление генераторами осуществляю на своём компе через интернет.

Но это всё равно не даёт ответа каким значениям верить.



#63894 Analysis показывает разное время для одного транзактора

Отправлено автор: Azart 24 декабря 2008 - 15:02 в Hewlett-Packard (Mercury) - Тестирование производительности

Failed транзакций по результатам тестов не было.



#63883 Analysis показывает разное время для одного транзактора

Отправлено автор: Azart 24 декабря 2008 - 14:14 в Hewlett-Packard (Mercury) - Тестирование производительности

Провёл нагрузочное тестирвоание. Выбрал Analyze Results, открылся Analys и построил отчёт. В отчёте на странице "Summary Report" пишется одно время транзакций, а на странице "Average Transaction Response Time" другое.

Почему время разное и какому из показателей верить?

Пример:
Данные на странице "Summary Report"
Transaction Name			   Minimum		 Average		Maximum		   Std. Deviation		  90 Percent

	 Case_1_Transaction		46,109		  53,182		 82,684			7,181				   59,219
	 Case_10_Transaction		44,343		  53,957		 74,485			6,991				   64,673

	 Case_2_Transaction		59,654		  74,74		  213,746		   29,687				  104,395

	 Case_3_Transaction		66,205		  90,197		 226,558		   38,307				  160,318
	 Case_4_Transaction		83,801		  115,268		240,383		   42,035				  174,953

	 Case_5_Transaction		61,475		  98,133		 248,378		   51,302				  171,29
	 Case_6_Transaction		90,147		  123,846		218,36			41,423				  197,023
														  
	 Case_7_Transaction		51,516		  67,652		 123,285		   18,183				  107,123

	 Case_8_Transaction		81,875		  100,793		229,021		   28,934				  125,639
	 Case_9_Transaction		61,106		  71,237		 122,49			10,318				  75,27
														  
	 CourseSelection_Transaction			25,924		  29,155		 39,725			3,674				   33,448

	 Login_Transaction		 12,196		  12,919		 19,099			1,294				   13,89
	 Logout_Transaction		0,011		   0,045		  0,456			 0,076				   0,078 

	 logout{logoutID}		0,011		   0,044		  0,456			 0,076				   0,078

	 open_case			0,783		   7,294		  33,494			5,737				   14,908 
	 submit				0,239		   2,469		  27,213			4,016				   6,593

	 vuser_end_Transaction		0			   0			  0				 0					   0 
	 vuser_init_Transaction		0			   0,001		  0,016			 0,003				   0,002

Данные на странице "Average Transaction Response Time"
Measurement												 Graph's Mini...	 Graph's Ave...	  Graph's Max...	  Graph's Me...	   Graph's Std....
Case_1_Transaction										  47,418			  53,49			   67,158			  52,179			  5,669

Case_10_Transaction										 46,392			  54,15			   69,375			  54,068			  5,912

Case_2_Transaction										  61,931			  89,453			  211,253			 71,356			  45,548
Case_3_Transaction										  67,751			  115,855			 226,558			 86,566			  52,198

Case_4_Transaction										  86,383			  126,561			 208,502			 117,07			  37,753
Case_5_Transaction										  61,909			  112,32			  193,843			 123,046			 40,507

Case_6_Transaction										  93				  137,499			 212,484			 139,557			 39,06
Case_7_Transaction										  53,317			  72,27			   110,427			 63,622			  17,873

Case_8_Transaction										  82,873			  104,449			 163,224			 91,973			  24,548
Case_9_Transaction										  64,043			  72,03			   100,545			 68,818			  9,979

CourseSelection_Transaction								 26,576			  29,527			  37,896			  28,296			  3,478
Login_Transaction										   12,336			  13,048			  16,87			   12,607			  1,293

Logout_Transaction										  0,012			   0,059			   0,236			   0,039			   0,054

logout{logoutID}											0,012			   0,058			   0,236			   0,039			   0,054
open_case												   1,089			   6,274			   13,861			  5,588			   3,501

submit													  0,408			   2,421			   7,132			   2,194			   1,523
vuser_end_Transaction									   0				   0				   0				   0				   0

vuser_init_Transaction									  0				   0,001			   0,003			   0				   0,001



#63683 Как правильно параметризировать скрипт?

Отправлено автор: Azart 17 декабря 2008 - 10:00 в Hewlett-Packard (Mercury) - Тестирование производительности

Спасибо за ответ.

Было решено, что сценарий будет такой прогоняться последовательно на 20, 30 и 60 пользователей выполняют скрипт до конца, т.е. по 1 итерации.

1.Поставил как советовали "Data Assignment Method должен быть Unique" - непомогло, все пользователи берут первый ID из файла.
Заменил "Each iteration" на "Each occurrence" - помогло.

2. Остался вопрос "как обнавлять файл параметров уникальными ID". В моём файле почти 30 000 ID. Хочу сделать, что бы в скрипте был функционал: удалять из файла параметров параметр который был взят виртуальным пользователем.

У меня есть скрипт AJAX(Click&Script) - вот его начало:

Action()
{
	web_browser("TIMSSLogin.aspx", 
		DESCRIPTION, 
		ACTION, 
		"Navigate=http://100.100.100.100/ECTS/Anonymous/TIMSSLogin.aspx", 
		LAST);

	lr_think_time(2);

	web_edit_field("lStudentLogin$UserName", 
		"Snapshot=t1.inf", 
		DESCRIPTION, 
		"Type=text", 
		"Name=lStudentLogin$UserName", 
		ACTION, 
		"SetValue={TimssID}", 
		LAST);

//----------------
//Сюда хочу вставить код редактирования файла параметров
//----------------

...

И код редактирвоания код делает следующие: открывает файл ищет ID удаляет его, сохраняет файл.
typedef long time_t;

char *filename = "c:\\timssid.dat";
char *filenameTmp = "c:\\tmp.dat";

Action() {

	 long file, fileTmp, thetime;
	 int id, id2;
	 time_t t;
	 char s[32];

	 /* Create a new file */
	 if ((file = fopen(filename, "r" )) == NULL) {

		  lr_output_message("Unable to create %s", filename);
		  return -1;
	 }
	  if ((fileTmp = fopen(filenameTmp, "w" )) == NULL) {

		  lr_output_message("Unable to create %s", filenameTmp);
		  return -1;
	 }

	 /* Write the Vuser id and time */
	 lr_whoami(&id, NULL, NULL);
	 fprintf(file, "Vuser %d %ld", id, time(&t));

	 /* Now read what we've just written. Rewind to start of file */
	 fseek(file, 0, 0); /* 0 is SEEK_SET */
	 while(!feof(file))
	 {
	 
	 fscanf(file, "%s", &s);
	 if(strcmp(s, "11122256")!=0)
		fprintf(fileTmp, "%s\n", &s);
		//lr_output_message("%s ", s );
	 }
	 fclose(file);
	 fclose(fileTmp);

	 remove (filename);
	 rename (filenameTmp, filename);
	 remove (filenameTmp);

	 return 0; 
}

Я не знаю как за место "11122256" подставить TimssID.
Я не знаю как правильно вставить этот код в тело скрипта. Если вставляю код где это указано компилятор ругается.



#63669 Как правильно параметризировать скрипт?

Отправлено автор: Azart 16 декабря 2008 - 16:06 в Hewlett-Packard (Mercury) - Тестирование производительности

Добрый вечер коллеги. Не получается добится правильной параметризации, нудна помощь.

Система выглядит так - упращённое предстваление:
Web портал:
1. Пользователь вводит уникальный код(ID) по маске 111ххххх, к примеру 11122233
2. Кликает "Login"
3. Открывается страница с набором контролов, пусть будут радиобаттноны и кнопкой "OK"
3.1 Если пользователь с ID уже был, то система показывает страницу с текстом "Выбор сделан"
4. Пользователь выбирает радиобатон и кликает "OK"
5. Показывается страница с текстом "Выбор сделан"

На Ajax(Click&Script) написал скрипт для тестирования производительности. Для параметра ID сделал раметризацию, настройки параметризации:
Parametr type: File
Select next row: Sequential
Update value on: Each iteration

Запуская сценарий на 1 пользователе в контроллере "выполнять до конца скрипт" - всё работает отлично.
Ещё раз запускаю сценарий на 1 пользователе в контроллере "выполнять до конца скрипт" - ошибка: не находит контролы, смотрю в логах приложения оказывается, скрипт запустился и из файла был использован тот же ID, что и в первом случае.
Удалил из файла параметром первый ID, запустил заново работает. Но это неудобно.

Если запускать на 2 и более пользователей сразу, то выполняется скрипт только для первого пользователя, для остальных ситуация описанная выше.

Подскажите как решить данныую проблему. Предпологаю, что можно брать ID рандомно, но нет гарантии, что ID не совпадут. Мне кажется должно быть более красивое решение проблемы, чтоб все виртуальные пользователи знали, как ID уже были использованы.



#63668 EXCEPTION_ACCESS_VIOLATION using AJAX protocol

Отправлено автор: Azart 16 декабря 2008 - 15:09 в JMeter - Тестирование производительности

Да бы не плодить темы:

Если запускаю скрипт в генераторе ошибок нет. Если запускаю в контроллере то получаю такую ошибку: Error: Exception was raised when calling per-thread-terminate function in extension lrwreplaymain.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION.


В чём может быть проблема?



#58764 Не работает скрипт после изменения имени сервера.

Отправлено автор: Azart 22 июля 2008 - 08:39 в Hewlett-Packard (Mercury) - Тестирование производительности

Atomic_A@ukr.net, спасибо! Работает как надо :biggrin:



#58728 Не работает скрипт после изменения имени сервера.

Отправлено автор: Azart 21 июля 2008 - 09:25 в Hewlett-Packard (Mercury) - Тестирование производительности

А отличается только name ? value одинаково в обоих случаях ?

Неправильно выразился, как раз value отличается, а name одинаковый в обоих случаях.



#58726 Не работает скрипт после изменения имени сервера.

Отправлено автор: Azart 21 июля 2008 - 08:46 в Hewlett-Packard (Mercury) - Тестирование производительности

Для экшена на котором падает(Action.c(27)) "Web_submit_data("LoginPage.aspx_2","), есть отличие в строке
"Name=__EVENTVALIDATION", "Value=/wEWDALYsrShCAKL9JDeAgKM9JDeAgKN9JDeAgKG9JDeAgL3xJvhBALS9cL8AgKDkOv3DQKhkJ6oAQLJtryUBQKN6O7XCwKMrpXEAo6DdPqrlamQwwNjoBvCED0XDv9i", ENDITEM,
Для другово скрипта другое значение.
И во всех строках такого типа, урлы свои для каждого сервера(заменятются в зависимости от сервера):
"Url=/Images/waiting.gif", "Referer={SiteUrl}Managing/ACRUserHome.aspx", ENDITEM,
.

Если параметр "Name=__EVENTVALIDATION" нужно заменять в зависимости отсервера, то как это сделать?



#58719 Не работает скрипт после изменения имени сервера.

Отправлено автор: Azart 21 июля 2008 - 06:13 в Hewlett-Packard (Mercury) - Тестирование производительности

Нужно, что бы один скрипт мог работать на разных серверах.

Dmitry_NJ, правильно ли я понимаю, что если будет ещё один сервер, то на каждый сервер надо будет свой скрипт писать? Это очень странный подход...

Ушёл искать отличия.



#58699 Не работает скрипт после изменения имени сервера.

Отправлено автор: Azart 18 июля 2008 - 13:14 в Hewlett-Packard (Mercury) - Тестирование производительности

Записал скрипт Web(HTTP/HTML).URL тестируемого приложения был http://192.168.111.111 (страница логина http://192.168.111.111/LoginPage.aspx). После логина пара дейсвтий на странице(переход по ссылкам).

Сервер переставили в нет, адреса изменился http://yyy.xxx.org:12190/aaa/ (страница логина http://yyy.xxx.org:1...LoginPage.aspx). В скрипте заменил все урлы на новые. При запуске скрипта ошибка:
Action.c(27): Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://yyy.xxx.org:12190/aaa/LoginPage.aspx"	  [MsgId: MERR-26612]
Action.c(27): Warning -26200: At least one of the resources specified by EXTRARES has not been downloaded due to the above error(s)	  [MsgId: MWAR-26200]
Action.c(27): web_submit_data("LoginPage.aspx_2") highest severity level was "ERROR", 10165 body bytes, 241 header bytes	  [MsgId: MMSG-26388]

Я в растеренности, приложение на обоих серверах одинаковое. В чём может быть проблема?

ПС: если записать скрипт заново для нового сервера и запустить, то всё работает хорошо. И если для переписанного скрипта заменить урл приложения на старый, то появляется та же самая ошибка.



#56364 Как избежать ошибок при отработке сценария.

Отправлено автор: Azart 12 мая 2008 - 14:29 в Hewlett-Packard (Mercury) - Тестирование производительности

Записал скрипт AJAX(Click&Script), расставил транзакторы.
Generator: при выставление Run-time settings->Run logic итераций 10 скрипт отрабатывает без ошибок. Если увеличивать ещё итерации могут появляться ошибки.
Controller: создал сценарий с данным скриптом при запуске даже на 1 пользователе появляеются ошибки:
Action.c(14): Error -26228: Text-link ("XXX") not found,
Action.c(36): Error -26226: Button not found. Количество ошибок всегда разное и всегда больше 0. Я так понимаю, что в процессе отработки скрипт не находит на веб-странице нужного элемента, отсюда и появляется ошибка.

Вопрос: как избежать данных ошибок?
Предпологаю, что как то возможно в скрипте задать, чтоб скрипт дожидался от сервера полной загрузки страницы и после этого, производил действия на ней. Если я прав, то как?



#56045 Ведущий Тестировщик

Отправлено автор: Azart 04 мая 2008 - 08:28 в Работа/Москва

Метро какое?