Prueba de carga Atlassian Jira, Confluence, Bitbucket Part 2

AquΓ­ aquΓ­ se puede leer la parte 1 de este artΓ­culo.
En la Parte 2, hablaremos sobre cΓ³mo preparar los datos para las pruebas de estrΓ©s utilizando la  herramienta dc-app-performance-toolkit .

Preparando datos de prueba


Hay dos formas de preparar los datos de prueba:

  • Utilice las copias de seguridad proporcionadas por Atlassian. Puede usar esta opciΓ³n si, por ejemplo, estΓ‘ escribiendo su propio complemento y no le importa en quΓ© datos funcionarΓ‘ este complemento.
  • Usa tus propios datos. Esta opciΓ³n serΓ‘ ΓΊtil si tiene su propia copia de Jira, Confluence o Bitbucket, que modifica utilizando la funcionalidad estΓ‘ndar, scripts, complementos y otras formas posibles.

Copias de seguridad Atlassian


Atlassian proporciona copias de seguridad para Jira, Confluence y Bitbucket, que pueden usarse para pruebas de carga.

Para instalar estas copias de seguridad, debe ir a la carpeta app-dc-performance-toolkit / app / util / jira si estΓ‘ probando Jira,  app-dc-performance-toolkit / app / util / confluence si estΓ‘ probando Confluence o  app-dc-performance-toolkit / app / util / bitbucket si estΓ‘ probando Bitbucket.

Estas carpetas contienen los archivos que necesita ejecutar para instalar las copias de seguridad de Atlassian. AquΓ­ estΓ‘n las descripciones de estos archivos:

  • index-sync.sh ( Jira Confluence) – atlassian-jira.log (atlassian-confluence.log) β€œindexes – 100%”. , . , , Jira/Confluence. , , , , , , .
  • populate_db.sh – Postgres Jira/Confluence/Bitbucket.
  • upload_attachments.sh – data.
  • index-snapshot.sh ( Confluence) – , .

Todos los scripts anteriores deben ejecutarse en la misma mΓ‘quina virtual en la que estΓ‘ instalada la instancia que estΓ‘ a punto de probar. Dado que estos scripts se ejecutan desde la misma mΓ‘quina virtual, determinarΓ‘n independientemente la versiΓ³n de su instancia y descargarΓ‘n el volcado de la base de datos y los archivos adjuntos para su versiΓ³n.

Bueno, ΒΏy si no quieres usar Postgres? DespuΓ©s de todo, populate_db.sh funciona solo para la base de datos Postgres.

En este caso, solo para Jira puede descargar la copia de seguridad xml y restaurarla utilizando la funcionalidad estΓ‘ndar de Jira . AquΓ­ hay un enlace a esta copia de seguridad: https://centaurus-datasets.s3.amazonaws.com/jira/$ {Jira_Verson} /large/xml_backup.zip - versiones compatibles de Jira 8.0.3, 7.13.6, 8.5.0.

Atlassian no preparΓ³ copias de seguridad xml para Confluence y Bitbucket. Debe usar el script populate_db.sh o preparar los datos usted mismo, lo que discutiremos mΓ‘s adelante en la secciΓ³n "Uso de nuestros propios datos".

Usamos nuestros propios datos.


Si desea probar su instancia con sus propios datos, esto tambiΓ©n es posible. Todo lo que necesita es asegurarse de que sus datos puedan ser utilizados por la herramienta dc-app-performance-toolkit.

Cuando dc-app-performance-toolkit comienza a probar, Taurus ejecuta el script prepare-data.py, que selecciona los datos de los que probarΓ‘ desde su instancia. Como resultado, se crean varios archivos csv con datos de su instancia.

Si prepare-data.py no puede seleccionar los datos necesarios, la prueba fallarΓ‘. Por lo tanto, debe asegurarse de que los datos necesarios estΓ©n en su copia.

Para comprender quΓ© datos deben ser, debe estudiar el archivo prepare-data.py para el producto que va a probar.

Examinemos estos archivos.

Jira


El archivo  prepare-data.py  para Jira se encuentra en la  carpeta dc-app-performance-toolkit / blob / master / app / util / data_preparation / jira / .

Este script selecciona datos de Jira y crea los siguientes archivos:

  • issues.csv: una lista de ish.
  • jqls.csv: lista de consultas jql.
  • kanban-boards.scv: lista de paneles kanban.
  • project-keys.csv: lista de claves de proyecto.
  • scrum-boards.csv- lista de paneles scrum.
  • users.scv: lista de usuarios.

No estudiaremos el archivo prepare-data.py por completo, solo tenemos que mirar este mΓ©todo:

def __create_data_set(jira_api):
    dataset = dict()
    dataset[USERS] = __get_users(jira_api)
    software_project_keys = __get_software_project_keys(jira_api, PROJECTS_COUNT_LIMIT)
    dataset[PROJECT_KEYS] = software_project_keys
    dataset[ISSUES] = __get_issues(jira_api, software_project_keys)
    dataset[SCRUM_BOARDS] = __get_boards(jira_api, 'scrum')
    dataset[KANBAN_BOARDS] = __get_boards(jira_api, 'kanban')
    dataset[JQLS] = __generate_jqls(count=150)

    return dataset

Como puede ver en este mΓ©todo, se seleccionan todos los datos que se necesitan durante las pruebas:

dataset[USERS] = __get_users(jira_api)

Seleccionamos usuarios de nuestra instancia de Jira. El nombre de usuario debe comenzar con "performance_". Tenemos que seleccionar tantos usuarios como hayamos establecido como usuarios concurrentes en el parΓ‘metro de concurrencia en el archivo jira.yml . Si no se encuentra dicho usuario o su nΓΊmero es insuficiente, se crearΓ‘n usuarios. Los usuarios tendrΓ‘n el prefijo "performance_" y contraseΓ±a contraseΓ±a.

software_project_keys = __get_software_project_keys(jira_api, PROJECTS_COUNT_LIMIT)
dataset[PROJECT_KEYS] = software_project_keys

Seleccionamos claves de proyecto de tipo Software.

__get_issues(jira_api, software_project_keys)

Seleccionamos no mΓ‘s de 8000 software de proyectos de software que no estΓ‘n en estado Cerrado.

dataset[SCRUM_BOARDS] = __get_boards(jira_api, 'scrum')

Seleccionamos no mΓ‘s de 250 paneles de pan.

dataset[KANBAN_BOARDS] = __get_boards(jira_api, 'kanban')

Seleccionamos no mΓ‘s de 250 paneles kanban.

dataset[JQLS] = __generate_jqls(count=150)

Generamos consultas jql con el siguiente contenido: 'text ~ β€œabc *” ”.

Por lo tanto, para que las pruebas se ejecuten sin errores, debe garantizar la disponibilidad de proyectos de software con placas ish y scrum y kanban. Si ya tiene estos objetos en su instancia, entonces no necesita hacer nada (las pruebas serΓ‘n exitosas sin ningΓΊn cambio), de lo contrario, debe crear los objetos que faltan.

Como mi instancia de Jira estΓ‘ vacΓ­a, creΓ© los proyectos Scrum Software Development y Kanban Software Development y volvΓ­ a ejecutar la prueba de carga:

bzt jira.yml

Esta vez el script se completΓ³ sin errores. AquΓ­ estΓ‘ la salida del script:

18:15:24 INFO: Taurus CLI Tool v1.14.0
18:15:24 INFO: Starting with configs: ['jira.yml']
18:15:24 INFO: Configuring...
18:15:24 INFO: Artifacts dir: /Users/alexm/PycharmProjects/easymigration/dc-app-performance-toolkit/app/results/jira/2020-05-02_18-15-24
18:15:24 INFO: Preparing...
18:15:25 INFO: Starting shell command: python util/environment_checker.py
18:15:25 INFO: Starting shell command: python util/data_preparation/jira/prepare-data.py
18:15:26 WARNING: There is newer version of Taurus 1.14.2 available, consider upgrading. What's new: http://gettaurus.org/docs/Changelog/
18:15:28 INFO: Will install JMeter into /Users/alexm/.bzt/jmeter-taurus/5.2.1
18:15:28 INFO: Downloading: https://apache-mirror.rbc.ru/pub/apache//jmeter/binaries/apache-jmeter-5.2.1.zip
100% [===========================================================] Time: 0:00:04
18:15:33 INFO: Unzipping /var/folders/4r/w8hkd4w51x787tw4ynb29v2w0000gn/T/tmp9g5rzqs1.zip to /Users/alexm/.bzt/jmeter-taurus/5.2.1
18:15:50 INFO: Downloading jmeter-plugins-manager-1.3.jar from https://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/1.3/jmeter-plugins-manager-1.3.jar
18:15:51 INFO: Downloading cmdrunner-2.2.jar from https://search.maven.org/remotecontent?filepath=kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar
100% [===========================================================] Time: 0:00:01
18:15:52 INFO: Installing JMeter plugins: jpgc-casutg,jpgc-dummy,jpgc-ffw,jpgc-fifo,jpgc-functions,jpgc-json,jpgc-perfmon,jpgc-prmctl,jpgc-tst,bzm-parallel=0.4,bzm-random-csv=0.6,jpgc-casutg=2.5,jpgc-dummy=0.2,jpgc-ffw=2.0,jpgc-fifo=0.2,jpgc-functions=2.1,jpgc-json=2.6,jpgc-perfmon=2.1,jpgc-prmctl=0.4,jpgc-tst=2.4,jpgc-wsc=0.3,tilln-sshmon=1.0,jpgc-cmd=2.2,jpgc-synthesis=2.2
18:16:38 INFO: 1 obsolete CookieManagers are found and fixed
18:16:56 INFO: Installing ChromeDriver...
18:16:56 INFO: Will install ChromeDriver into /Users/alexm/.bzt/selenium-taurus/tools/chromedriver/80.0.3987.106
18:16:56 INFO: Downloading: https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_mac64.zip
100% [===========================================================] Time: 0:00:01
18:16:57 INFO: Unzipping /var/folders/4r/w8hkd4w51x787tw4ynb29v2w0000gn/T/tmpurpp_7tz.zip to /Users/alexm/.bzt/selenium-taurus/tools/chromedriver/80.0.3987.106
18:16:57 INFO: Installing GeckoDriver...
18:16:57 INFO: Will install GeckoDriver into /Users/alexm/.bzt/selenium-taurus/tools/geckodriver/0.23.0
18:16:57 INFO: Downloading: https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-macos.tar.gz
100% [===========================================================] Time: 0:00:02
18:17:00 INFO: Untaring /var/folders/4r/w8hkd4w51x787tw4ynb29v2w0000gn/T/tmpiurqzzt4.zip to /Users/alexm/.bzt/selenium-taurus/tools/geckodriver/0.23.0
18:17:00 WARNING: You are using Python 3, make sure that your scripts are able to run in Python 3
18:17:00 INFO: Starting...
18:17:00 INFO: Waiting for results...
18:17:00 INFO: Waiting for finish...
18:17:00 ERROR: Console screen failure: ord() expected string of length 1, but int found
18:25:22 WARNING: Please wait for graceful shutdown...
18:25:22 INFO: Shutting down...
18:25:22 INFO: Starting shell command: python util/jmeter_post_check.py
18:25:22 INFO: Starting shell command: python util/jtl_convertor/jtls-to-csv.py kpi.jtl selenium.jtl
18:25:59 INFO: Post-processing...
18:25:59 INFO: Test duration: 0:08:22
18:25:59 INFO: Samples count: 3272, 0.06% failures
18:25:59 INFO: Average times: total 0.595, latency 0.000, connect 0.000
18:25:59 INFO: Percentiles:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Percentile, % β”‚ Resp. Time, s β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
18:25:59 INFO: Request label stats:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ label                                 β”‚ status β”‚    succ β”‚ avg_rt β”‚ error                                                                                                                                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ jmeter_browse_boards                  β”‚   OK   β”‚ 100.00% β”‚  0.186 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_browse_projects                β”‚   OK   β”‚ 100.00% β”‚  0.149 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_create_issue                   β”‚   OK   β”‚ 100.00% β”‚  0.135 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_login_and_view_dashboard       β”‚   OK   β”‚ 100.00% β”‚  0.497 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_open_comment                   β”‚   OK   β”‚ 100.00% β”‚  0.210 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_open_editor                    β”‚   OK   β”‚ 100.00% β”‚  0.287 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_open_quick_create              β”‚   OK   β”‚ 100.00% β”‚  0.063 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_save_comment                   β”‚   OK   β”‚ 100.00% β”‚  0.521 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_save_edit                      β”‚   OK   β”‚ 100.00% β”‚  0.900 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_search_jql                     β”‚   OK   β”‚ 100.00% β”‚  0.610 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_view_backlog                   β”‚   OK   β”‚ 100.00% β”‚  0.387 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_view_dashboard                 β”‚   OK   β”‚ 100.00% β”‚  0.267 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_view_issue                     β”‚   OK   β”‚ 100.00% β”‚  0.593 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_view_kanban_board              β”‚   OK   β”‚ 100.00% β”‚  0.344 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_view_project_summary           β”‚   OK   β”‚ 100.00% β”‚  0.611 β”‚                                                                                                                                                 β”‚
β”‚ jmeter_view_scrum_board               β”‚   OK   β”‚ 100.00% β”‚  0.347 β”‚                                                                                                                                                 β”‚
β”‚ selenium_a_login                      β”‚   OK   β”‚ 100.00% β”‚ 28.460 β”‚                                                                                                                                                 β”‚
β”‚ selenium_browse_boards_list           β”‚   OK   β”‚ 100.00% β”‚  9.871 β”‚                                                                                                                                                 β”‚
β”‚ selenium_browse_projects_list         β”‚   OK   β”‚ 100.00% β”‚  6.376 β”‚                                                                                                                                                 β”‚
β”‚ selenium_create_issue                 β”‚   OK   β”‚ 100.00% β”‚  5.143 β”‚                                                                                                                                                 β”‚
β”‚ selenium_edit_issue                   β”‚   OK   β”‚ 100.00% β”‚ 16.305 β”‚                                                                                                                                                 β”‚
β”‚ selenium_save_comment                 β”‚   OK   β”‚ 100.00% β”‚ 19.909 β”‚                                                                                                                                                 β”‚
β”‚ selenium_search_jql                   β”‚   OK   β”‚ 100.00% β”‚ 32.249 β”‚                                                                                                                                  β”‚
β”‚ selenium_view_backlog_for_scrum_board β”‚   OK   β”‚ 100.00% β”‚ 14.223 β”‚                                                                                                                                                 β”‚
β”‚ selenium_view_dashboard               β”‚   OK   β”‚ 100.00% β”‚ 13.805 β”‚                                                                                                                                                 β”‚
β”‚ selenium_view_issue                   β”‚   OK   β”‚ 100.00% β”‚ 12.332 β”‚                                                                                                                                                 β”‚
β”‚ selenium_view_kanban_board            β”‚   OK   β”‚ 100.00% β”‚ 14.675 β”‚                                                                                                                                                 β”‚
β”‚ selenium_view_project_summary         β”‚   OK   β”‚ 100.00% β”‚ 12.710 β”‚                                                                                                                                                 β”‚
β”‚ selenium_view_scrum_board             β”‚   OK   β”‚ 100.00% β”‚ 14.893 β”‚                                                                                                                                                 β”‚
β”‚ selenium_z_log_out                    β”‚   OK   β”‚ 100.00% β”‚ 14.889 β”‚                                                                                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
18:26:00 INFO: Writing JUnit XML report into: /Users/alexm/PycharmProjects/easymigration/dc-app-performance-toolkit/app/results/jira/2020-05-02_18-15-24/xunit.xml
18:26:00 INFO: Starting shell command: python util/analytics.py jira
18:26:06 INFO: Starting shell command: python util/cleanup_results_dir.py
18:26:06 INFO: Artifacts dir: /Users/alexm/PycharmProjects/easymigration/dc-app-performance-toolkit/app/results/jira/2020-05-02_18-15-24
18:26:06 INFO: Done performing with code: 0

En la salida del script se puede ver que Taurus lanzΓ³ el archivo prepare-data.py y creΓ³ los siguientes archivos csv:

issues.csv

KAN-1,10023,KAN
KAN-2,10024,KAN
KAN-3,10025,KAN
KAN-4,10026,KAN
KAN-5,10027,KAN
...........


jqls.csv

text ~ "vqz*" order by key
text ~ "fpl*" order by key
text ~ "zjs*" order by key
text ~ "wph*" order by key
text ~ "xhx*" order by key
text ~ "pxt*" order by key
text ~ "deh*" order by key
text ~ "iri*" order by key
text ~ "jbr*" order by key
text ~ "snt*" order by key
...........

kanban-boards.csv

2

project_keys.csv

KAN
SCRUM

scrum-boards.csv

1

users.csv

performance_kqgdayqwfj,password
performance_zyqnwihaxr,password
performance_onfxfovior,password
performance_rrujzwrxlt,password
performance_agjbcxxeqy,password

Luego, Taurus instalΓ³ JMeter y el controlador web de Chrome, ejecutΓ³ las pruebas e imprimiΓ³ el resultado.

Ahora veamos el archivo prepare-data.py para Confluence y Bitbucket.

Confluencia


Considere el archivo  prepare-data.py  para Confluence.

AquΓ­ estΓ‘ el mΓ©todo principal:

def __create_data_set(rest_client, rpc_client):
    dataset = dict()
    dataset[USERS] = __get_users(rest_client, rpc_client, CONFLUENCE_SETTINGS.concurrency)
    dataset[PAGES] = __get_pages(rest_client, 5000)
    dataset[BLOGS] = __get_blogs(rest_client, 5000)
    return dataset

 dataset[USERS] = __get_users(rest_client, rpc_client, CONFLUENCE_SETTINGS.concurrency)

Seleccionamos o creamos usuarios para pruebas de carga de acuerdo con la misma lΓ³gica que en el caso de Jira.

dataset[PAGES] = __get_pages(rest_client, 5000)

Seleccionamos pΓ‘ginas de Confluence usando el siguiente cql: "type = page and title! ~ JMeter and title! ~ Selenium and title! ~ Home".

dataset[BLOGS] = __get_blogs(rest_client, 5000)

Seleccionamos blogs de Confluence por el siguiente cql: "type = blogpost and title! ~ Performance".

Por lo tanto, para comenzar a probar Confluence, debe tener pΓ‘ginas y blogs en su copia.

Bitbucket


Ahora mire el archivo  prepare-data.py  para Bitbucket.

AquΓ­ estΓ‘ la funciΓ³n principal:

def __create_data_set(bitbucket_api):
    dataset = dict()
    dataset[USERS] = __get_users(bitbucket_api)
    dataset[PROJECTS] = __get_projects(bitbucket_api)
    dataset[REPOS] = __get_repos(bitbucket_api)
    dataset[PULL_REQUESTS] = __get_prs(bitbucket_api)
    return dataset

dataset[USERS] = __get_users(bitbucket_api)

Seleccionamos o creamos usuarios de acuerdo con la misma lΓ³gica que para Jira, pero esta vez los usuarios deben tener el prefijo "dcapt-perf-user". Y al crear el usuario, la contraseΓ±a es igual al nombre de usuario.

dataset[PROJECTS] = __get_projects(bitbucket_api)

Seleccionamos proyectos.

dataset[REPOS] = __get_repos(bitbucket_api)

Seleccionamos repositorios.

dataset[PULL_REQUESTS] = __get_prs(bitbucket_api)

Seleccionamos el grupo de solicitud. El nΓΊmero de grupos de solicitudes no debe ser menor que el parΓ‘metro de concurrencia en el archivo  bitbucket.yml .

Por lo tanto, para ejecutar pruebas para Bitbucket, debe tener en su instancia proyectos, repositorios y un grupo de solicitudes en una cantidad no menor que el parΓ‘metro de concurrencia en el archivo bitbucket.yml.

Entonces, vimos cΓ³mo preparar los datos para las pruebas de carga utilizando copias de seguridad preparadas por Atlassian, y cΓ³mo ejecutar las pruebas de carga en nuestros datos. En la siguiente parte, hablaremos sobre quΓ© artefactos se crean despuΓ©s de las pruebas de estrΓ©s, quΓ© informaciΓ³n proporcionan y quΓ© tipo de grΓ‘ficos podemos generar desde la caja.

All Articles