Pengujian Beban Atlassian Jira, Confluence, Bitbucket Bagian 2

Di sini di sini Anda dapat membaca bagian 1 dari artikel ini.
Pada Bagian 2, kita akan berbicara tentang bagaimana menyiapkan data untuk pengujian stres menggunakan alat  dc-app-performance-toolkit .

Mempersiapkan data uji


Ada dua cara untuk menyiapkan data uji:

  • Gunakan cadangan yang disediakan oleh Atlassian. Anda dapat menggunakan opsi ini jika, misalnya, Anda menulis plugin sendiri dan tidak masalah bagi Anda data apa yang akan dikerjakan plugin ini.
  • Gunakan data Anda sendiri. Opsi ini akan berguna jika Anda memiliki salinan Jira, Confluence atau Bitbucket Anda sendiri, yang Anda modifikasi menggunakan fungsi standar, skrip, plugin, dan metode lain yang mungkin.

Cadangkan Atlassian


Atlassian menyediakan cadangan untuk Jira, Confluence dan Bitbucket, yang dapat digunakan untuk pengujian beban.

Untuk menginstal cadangan ini, Anda harus pergi ke folder app-dc-performance-toolkit / app / util / jira jika Anda menguji Jira,  app-dc-performance-toolkit / app / util / confluence jika Anda menguji Confluence atau  app-dc-performance-toolkit / app / util / bitbucket jika Anda menguji Bitbucket.

Folder ini berisi file yang perlu Anda jalankan untuk menginstal cadangan Atlassian. Berikut adalah deskripsi dari file-file ini:

  • 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) – , .

Semua skrip di atas harus dijalankan pada mesin virtual yang sama tempat instans yang akan Anda uji terinstal. Karena skrip-skrip ini dijalankan dari mesin virtual yang sama, skrip-skrip tersebut akan secara independen menentukan versi instance Anda dan mengunduh database dump dan lampiran untuk versi Anda.

Nah, bagaimana jika Anda tidak ingin menggunakan Postgres? Bagaimanapun, populate_db.sh hanya berfungsi untuk database Postgres.

Dalam hal ini, hanya untuk Jira Anda dapat mengunduh cadangan xml dan mengembalikannya menggunakan fungsionalitas Jira standar . Berikut ini tautan ke cadangan ini: https://centaurus-datasets.s3.amazonaws.com/jira/$ {Jira_Verson} /large/xml_backup.zip - versi Jira 8.0.3, 7.13.6, 8.5.0 yang didukung.

Atlassian tidak menyiapkan cadangan xml untuk Confluence dan Bitbucket. Anda perlu menggunakan skrip populate_db.sh atau menyiapkan sendiri data tersebut, yang akan saya bahas nanti di bagian β€œMenggunakan data kami sendiri”.

Kami menggunakan data kami sendiri.


Jika Anda ingin menguji instance Anda pada data Anda sendiri, maka ini juga memungkinkan. Yang Anda butuhkan adalah memastikan bahwa data Anda dapat digunakan oleh alat dc-app-performance-toolkit.

Ketika dc-app-performance-toolkit mulai menguji, Taurus menjalankan skrip prep-data.py, yang memilih data dari instance Anda untuk diuji. Akibatnya, beberapa file csv dengan data dari instance Anda dibuat.

Jika prep-data.py tidak dapat memilih data yang diperlukan, maka pengujian akan gagal. Karena itu, Anda perlu memastikan bahwa data yang diperlukan ada dalam salinan Anda.

Untuk memahami data apa yang seharusnya, Anda perlu mempelajari file prep-data.py untuk produk yang akan Anda uji.

Mari kita periksa file-file ini.

Jira


File  prep-data.py  untuk Jira terletak di  folder dc-app-performance-toolkit / blob / master / app / util / data_preparation / jira / folder .

Skrip ini memilih data dari Jira dan membuat file-file berikut:

  • issues.csv - daftar ish.
  • jqls.csv - daftar pertanyaan jql.
  • kanban-boards.scv - daftar panel kanban.
  • project-keys.csv - daftar kunci proyek.
  • scrum-boards.csv- daftar panel scrum.
  • users.scv - daftar pengguna.

Kami tidak akan mempelajari file prep-data.py sepenuhnya, kami hanya perlu melihat metode ini:

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

Seperti yang Anda lihat dalam metode ini, semua data yang diperlukan selama pengujian dipilih:

dataset[USERS] = __get_users(jira_api)

Kami memilih pengguna dari instance Jira kami. Nama pengguna harus dimulai dengan "performance_". Kami harus memilih pengguna sebanyak yang kami tetapkan sebagai pengguna bersamaan dalam parameter concurrency di file jira.yml . Jika tidak ada pengguna yang ditemukan atau jumlahnya tidak mencukupi, maka pengguna akan dibuat. Pengguna akan memiliki awalan "performance_" dan kata sandi kata sandi.

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

Kami memilih kunci proyek dari jenis Perangkat Lunak.

__get_issues(jira_api, software_project_keys)

Kami memilih tidak lebih dari 8000 perangkat lunak dari proyek perangkat lunak yang tidak dalam status Tertutup.

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

Kami memilih tidak lebih dari 250 panel pan.

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

Kami memilih tidak lebih dari 250 panel kanban.

dataset[JQLS] = __generate_jqls(count=150)

Kami menghasilkan permintaan jql dengan konten berikut: 'text ~ "abc *" ".

Dengan demikian, agar pengujian dapat berjalan tanpa kesalahan, Anda perlu memastikan ketersediaan proyek Perangkat Lunak dengan papan ish dan scrum dan kanban. Jika Anda sudah memiliki objek ini dalam instance Anda, maka Anda tidak perlu melakukan apa pun (pengujian akan berhasil tanpa perubahan), jika tidak, maka Anda perlu membuat objek yang hilang.

Karena instance Jira saya kosong, saya membuat proyek Pengembangan Perangkat Lunak Scrum dan Kanban Pengembangan Perangkat Lunak dan menjalankan uji beban lagi:

bzt jira.yml

Kali ini skrip selesai tanpa kesalahan. Ini adalah output skrip:

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

Dapat dilihat dari hasil skrip bahwa Taurus meluncurkan file prep-data.py dan membuat file csv berikut:

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

Kemudian Taurus menginstal JMeter dan driver web Chrome, menjalankan tes, dan mencetak hasilnya.

Sekarang mari kita lihat file prep-data.py untuk Confluence dan Bitbucket.

Pertemuan


Pertimbangkan file  prep-data.py  untuk Confluence.

Inilah metode utamanya:

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)

Kami memilih atau membuat pengguna untuk pengujian beban sesuai dengan logika yang sama seperti dalam kasus untuk Jira.

dataset[PAGES] = __get_pages(rest_client, 5000)

Kami memilih halaman dari Confluence menggunakan cql berikut: "type = halaman dan judul! ~ JMeter dan judul! ~ Selenium dan judul! ~ Home".

dataset[BLOGS] = __get_blogs(rest_client, 5000)

Kami memilih blog dari Confluence dengan cql berikut: "type = blogpost dan title! ~ Performance".

Jadi, untuk memulai pengujian untuk Confluence, Anda perlu memiliki halaman dan blog di salinan Anda.

Bitbucket


Sekarang lihat file  prep-data.py  untuk Bitbucket.

Inilah fungsi utamanya:

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)

Kami memilih atau membuat pengguna sesuai dengan logika yang sama dengan Jira, tetapi kali ini pengguna harus memiliki awalan "dcapt-perf-user". Dan saat membuat pengguna, kata sandi sama dengan nama pengguna.

dataset[PROJECTS] = __get_projects(bitbucket_api)

Kami memilih proyek.

dataset[REPOS] = __get_repos(bitbucket_api)

Kami memilih repositori.

dataset[PULL_REQUESTS] = __get_prs(bitbucket_api)

Kami memilih kumpulan permintaan. Jumlah kumpulan permintaan harus tidak kurang dari parameter concurrency di file  bitbucket.yml .

Jadi, untuk menjalankan tes untuk Bitbucket, Anda harus memiliki dalam proyek contoh Anda, repositori dan kumpulan requets dalam jumlah yang tidak kurang dari parameter concurrency dalam file bitbucket.yml.

Jadi, kami melihat bagaimana menyiapkan data untuk pengujian beban menggunakan cadangan yang disiapkan oleh Atlassian, dan bagaimana menjalankan pengujian beban pada data kami. Pada bagian selanjutnya, kita akan berbicara tentang artefak apa yang dibuat setelah stress testing, informasi apa yang mereka berikan dan gambar apa yang dapat kita hasilkan dari kotak.

All Articles