• Vân Nga Vân Nga

    • Bước 1: Đọc các issuse: khi đọc issuse nếu issue không rõ ràng yêu cầu người log cung cấp thêm thông tin hoặc tái hiện lại để cùng biết vấn đề
    • Bước 2: Đánh trạng thái cho issuse: trường hợp là bug đưa về danh bug team đang follow, feature assgin cho PO, BA hoặc những người có quyền quyết định về sản phẩm đưa ra quyết định
    • Bước 3: Follow các issuse cho đến khi nào issuse ở trạng thái DONE

    - Trường hợp các bug không tái hiện được vấn ghi nhận báo lại với team phối hợp cùng cả team phát triển cùng tái hiện hoặc cùng sửa không bỏ qua bất kỳ 1 vấn đề nào
    - Cố gắng tái hiện hết các bug không giấu diếm

    posted in QA Team read more
  • Vân Nga Vân Nga

    ca511880-47d7-426c-a963-b0e260e04d41-image.png

    • Number of Thread (users): số lượng user cần thực hiện
    • Ram- up (second): tổng thời gian thực hiện hết tất cả các yêu cầu (request) của bạn
      Ví dụ: Ví dụ, nếu bạn có 10 yêu cầu, và bạn thiết lập ramp-up là 100 (giây) thì JMeter sẽ thực hiện 10 yêu cầu đó trong 100 giây, nghĩa là mỗi yêu cầu sẽ được gửi cách nhau 10 giây. Nói cách khác, cứ mỗi 10 giây JMeter sẽ gửi 1 yêu cầu lên server.

    posted in Performance Testing read more
  • Vân Nga Vân Nga

    1. Epic, Story

    2c8d7b7f-435f-4e52-ad71-b40c2459c3ec-image.png

    2. Task

    60c12b7d-fac9-43c3-9b91-f6d01dc76ca7-image.png

    3. Bug

    9a8b0cb0-6884-45a7-a748-674dd72763fe-image.png

    • Lưu ý: 1 issuse sau khi tạo ra đều có thể chuyển qua trạng thái pending do Risk sau khi Risk được xử lý chuyển qua trạng thái hiện tại của vấn đề (inprogress khi đang làm, test khi đang test,...)

    posted in SM- Data warehouse read more
  • Vân Nga Vân Nga

    IssuseType Mô tả
    Epic là modul
    Story use case, tính năng của epic theo hệ điều hành
    Task là các đầu việc cần để hoàn thành Story của các development member (Dev, test)
    Document là issues trong quá trình phát triển cần người ra quyền cầu chốt lại, là resource thiếu cần order
    Bug lỗi trong quá trình testing phát hiện
    Subtask đầu việc hoàn thành task, subtask là phát sinh của cá nhân người làm task đó sẽ không vào dự án

    edc32863-0c8f-4a7c-9a0a-77d944729add-image.png

    ví dụ:
    ce410587-1a61-49cb-9256-4ff5c9a9fa90-image.png

    • Lưu ý: Default trong một 1 story sẽ có 3 task của 3 group chính là task DE, DA, QA do SCrum Master không hiểu hết tính chất 1 issue cần có nhưng nhiệm vụ nào SM sẽ tạo trước trước khi start clear lại với team task nào cần task nào giữ lại

    Các việc cần làm trước khi start sprint

    posted in SM- Data warehouse read more
  • Vân Nga Vân Nga

    @vân-nga Fix version của sprint DWH Sprint 2SPRINT 2 nhé mn

    posted in SM- Data warehouse read more
  • Vân Nga Vân Nga

    1. Tiền điều kiện

    • Các issuse của sprint cần chạy đều được add value của filed Fix version. Trong ví dụ tôi đang add version là Sprint 2

    32fa04cc-6c85-42f9-aabf-65e72e490b0f-image.png

    61c0b018-da84-4efc-94ea-f0b2b4f34527-image.png

    1. Lưu ý config, quản lý version nên là SM làm
    2. 🙌 🙌 Fix version = Sprint

    2. Xem danh sách những issuse cần estimate
    Sử dụng report để xem danh sách các issue cần estimate

    • B1: Vào project của bạn
    • B2: Chọn Report

    3f18137a-6827-471b-99e1-123093e291e3-image.png

    • B3: Chọn Version Workload Report
      +B4: Chọn theo version sprint sẽ chạy

    24798d63-f117-44ae-b4b5-fecce8ffe707-image.png

    👏 Hiển thị Report các issuse theo version

    9b1f70a3-8144-4d3c-8dda-e19b40b7c4cd-image.png

    1. Tổng estimate của các issuse của từng user
    2. Danh sách các issuse NOT DONE của từng user ( nếu issuse done sẽ không hiển thị trong report này)
    3. Report chia từng bảng theo từng user được assgin
    4. Link Issuse - có thể mở vào issuse để xem cụ thể
    5. Thời gian estimate lấy theo field Original estimate

    22e8d117-888a-448c-9807-d3a5c1828b95-image.png
    No Estimate là issuse này bạn chưa estimate
    Bạn sẽ estimate tại field Original estimate

    3. Cách estimate cho issuse trên jira

    • Điền thời gian bạn hoàn thành task vào field Original estimate ( d h m)
    • Chọn Ngày kết thúc khi bạn hoàn thành task End date
    • Chọn Ngày bắt đầu khi bạn hoàn thành task Start date
    • Estimate vào issuseType: TASK, BUG. Scrum Master không quản lý SUB-TASK vì nó sẽ không hiển thị trên report rất khó quản lý nên nếu bạn estimate vào subtask thì vẫn phải cộng tổng lại điền vào TASK
    • Đối với TASKSUB_TASK bạn có thể điền estimate vào TASK OR SUB_TASK không điền cả hai ảnh hưởng đến report genarate tự động của Jira

    Start dateEnd date có thể điền trong quá trình chạy sprint

    Các việc cần làm trước khi start sprint

    posted in SM- Data warehouse read more
  • Vân Nga Vân Nga

    1. Estimate cho issuse của bạn trên jira
    2. Đánh giá mức độ ưu tiên của TASK
    Đánh giá độ ưu tiên của IssuseTYpe = TASK vào field Severity. Lưu ý Ưu tiên 1> Ưu tiên 2

    04f1038f-7edd-46fa-9def-1bd149182718-image.png bolded text

    3. Cấu trúc khi tạo issuse scrum

    😵 😵 😵 😵
    Xem thêm
    WorkFlow của issuse

    posted in SM- Data warehouse read more
  • Vân Nga Vân Nga

    1. Checklist yêu cầu dự án (tùy dự án)
    • Các mô đun

    • Luồng chức năng cơ bản

    1. Testcase
    • Case test theo form

    • Môi trường

    • Chỉ số ( tổng số testcase, chỉ số fail, pass, tested)

    1. Checklist trước golive
    2. Hướng dẫn sử dụng

    posted in Những tài liệu cần thiết trong dự án read more
  • Vân Nga Vân Nga

    Đối với Web Application, khi vào 1 trang web, mặc dù trên giao diện người dùng chúng ta chỉ nhìn thấy vào bằng 1 đường link tuy nhiên bên trong nó thực chất gửi rất nhiều request lên server, request thì yêu cầu server trả về nội dung của link vừa gửi, request yêu cầu trả về hình ảnh, icon, màu sắc… và tất cả những yêu cầu này server sẽ phải làm việc và trả về cho client (ở đây chính là browser mà chúng ta đang vào web) từ đó hiển thị nên một trang web hoàn chỉnh. Các bạn có thể kiểm chứng bằng cách ở trên browser (ví dụ như Chrome, Firefox…) các bạn ấn F12 hoặc vào Options mở Developer Tools, ấn vào tab Network, sau đó vào một đường dẫn sẽ thấy sẽ có rất nhiều request được bắn ra mặc dù chúng ta chỉ vào 1 đường dẫn.

    Capture.PNG

    Như vậy, để tạo test script cho Web Application trên JMeter, chúng ta sẽ phải mô phỏng các request được bắn ra như trên để gửi lên server.
    👉 Ở đây tôi sẽ hướng dẫn cho các bạn sử dụng tính năng Recording trong JMeter để thực hiện kết hợp với Firefox hoặc Chrome.

    • Bước 1: Thực hiện mở JMeter (ở thời điểm bài viết này tôi đang sử dụng JMeter version 5.1.1). Ở trên thanh toolbar của JMeter, các bạn click vào Templates (icons 2 quyển sách nằm ở phía góc trên cùng bên trái của màn hình):

    Capture.PNG

    • Bước 2: Sau khi bạn click vào button Templates sẽ có 1 pop-up hiển thị, ở trên select box Select Template các bạn click vào và chọn đến Recording, sau đó click vào button Create.

    Capture.PNG

    • Bước 3: Sau khi click vào button Create, sẽ xuất hiện thêm 1 popup nữa để bạn điền các thông tin về trang web chuẩn bị thực hiện tạo test script.
      1. hostToRecord: là domain của trang web cần viết script
      2. recordingOutputFile: là tên của file log ghi lại thông tin request, response khi chúng ta thực hiện recording, có thể đặt tên tuỳ ý bạn.
      3. schemeToRecord: Protocol của trang web thực hiện viết script (HTTP/HTTPS)

    Capture.PNG

    Meter sẽ tạo sẵn cho chúng ta 1 template có thể thực hiện recording như bên dưới:

    • Test Plan: Bất cứ test script nào trong JMeter đều được nằm trong Test Plan

    • User Defined Variables: Chứa các biến do người dùng define, trong đây sau khi tạo xong JMeter đã đưa thông tin chúng ta đã điền ở bước 3 vào đây với 2 biến là host và scheme.

    Capture.PNG

    • HTTP Request Default: Element này giúp chúng ta đưa các thông tin của đường dẫn như protocol, domain, port của trang web, nếu có thay đổi chỉ cần thay đổi 1 lần ở đây mà không cần phải vào từng request (với điều kiện các request con phải trống). Ở trong template recording của JMeter cũng đã điền cho chúng ta thông tin đã điền ở bước 3.

    Capture.PNG

    • HTTP Cookie Manager: Giúp người dùng mô phỏng tương như như Cookie của Browser.

    • Thread Group: tương tự như là 1 test suite, sẽ control kịch bản test trong JMeter.

    • Recording Controller: là 1 Controller Element của JMeter, default các request sau khi được recording sẽ nằm bên trong Element này.

    • View Result Tree: là 1 Listener chứa kết quả khi chạy các request trong script.

    • HTTP(S) Test Script Recorder: Tác nhân chính để thực hiện recording. Chúng ta sẽ tìm hiểu chi tiết vào element này sau các bạn nhé.

    • View Result Tree nằm bên dưới HTTP(S) Test Script Recorder: là nơi chứa thông tin của các request trong quá trình thực hiện recording.

    • Bước 4: Để bắt đầu thực hiện Recording Web Application, chúng ta click vào HTTP(S) Test Script Recorder, nó sẽ làm nhiệm vụ “bắt” các request được bắn ra từ browser và đẩy vào JMeter. Bên trong element này có rất nhiều thuộc tính nhưng các bạn chỉ cần tập trung vào 1 vài options sau:

    • Port: Mặc định JMeter điền sẵn cho ta port 8888, đây là port để định nghĩa Proxy giữa Browser và JMeter, chỉ đi qua những port này mới được recording và đưa vào JMeter. Các bạn có thể sửa port này, miễn là nó nằm trong dải 4000 < port number < 65535 (lưu ý nên tránh các port khác đã được sử dụng trong hệ điều hành hoặc server sẽ test). Hiện tại tôi sẽ dùng port mặc định là 8888.

    • Click vào tab Request Filtering > URL Patterns to Include: cho phép chúng ta sử dụng Regular Expression để lọc những request cần thiết (ví dụ là chỉ những request đến từ domain jmeter.apache.org mới đưa vào test plan)
      Click button Add bên trong URL Pattern to Include để thêm 1 điều kiện lọc
      Sau đó điền cú pháp Regular Expression để thực hiện lọc theo điều kiện. Ở đây ví dụ tôi cần lọc chỉ lấy những request đến từ trang jmeter.apache.org thì sẽ điền như sau: redmine.org.*

    • URL Patterns to Exclude: Ngược lại với URL Patterns to Include, thuộc tính này để loại bỏ những request bạn không nên đưa vào, nó cũng sử dụng Regular Expression. Mặc định, JMeter đã thêm cho chúng ta 1 vài lựa chọn không cần thiết như không lấy các request css, js, gif, ico… nếu các bạn không cần các thuộc tính như JMeter gợi ý, có thể để default như họ.

    Capture.PNG

    • Bước 5: Browser thiết lập để có thể sử dụng JMeter Proxy ở trên.
    • Firefox:
      • Mở firefox
      • Click vào Menu > Preference (Trên MacOS) hoặc Menu > Options (Trên Windows)
      • Tiếp tục chọn General > Kéo xuống dưới tìm đến Network Settings > Settings

    Capture.PNG

    -Tiếp tục chọn radio button Manual proxy configuration

    • Điền localhost vào trong HTTP Proxy
    • Điền Port là 8888 (Port này trùng với port chúng ta đã thiết lập ở trên JMeter tại bước 4.
    • Tick vào checkbox Use this proxy server for all protocols
    • Click OK.

    Capture.PNG

    • Bước 6: Sau khi thiết lập xong các bước, các bạn quay về HTTP(S) Test Script Recorder, click vào button Start để bắt đầu recording, sau khi click xong sẽ hiển thị thông báo như bên dưới:
      Capture.PNG

    Capture.PNG

    Click OK xong sẽ xuất hiện popup như bên dưới

    Capture.PNG

    Tại popup này, mặc định sẽ hiển thị HTTP Sampler settings là Transaction name
    Sau khi kết thúc, các bạn click vào button Stop trong popup Recorder để hoàn tất

    Capture.PNG

    Click vào View Result Tree bên dưới HTTP(S) Test Script Recorder các bạn sẽ thấy toàn bộ các request được sinh ra trong quá trình bạn thực hiện recording

    posted in Performance Testing read more
  • Vân Nga Vân Nga

    1. Yêu cầu
    Giả sử bạn đã biết cách login thành công bằng cách nhập trực tiếp vào parameter trong request login. Sau đó, bạn muốn login bằng nhiều account khác nhau mà chỉ cần 1 request login thì sẽ làm thế nào?.

    2. Kịch bản
    Kịch bản của chúng ta cần những gì nào ?

    • Một file csv chứa username hoặc email và password

    • Một request login

    => Vậy làm thế nào để login được bằng n account khác nhau ?. Có rất nhiều cách, ở đây tôi sẽ hướng dẫn các bạn tìm hiểu về import data bằng CSV Data Set Config trong Jmeter

    3. Demo cho tính năng đăng nhập trên redmine.org

    • Bước 1: Tạo file CSV với các trường thông tin cần dùng
      Bạn có thể tạo file cx bằng notepad, notepad++,excel,..... sau đó lưu file với đuôi .csv các cột dữ liệu phân tách nhau bằng dấu (,)

    Lưu ý: khi trong file csv không nên có khoảng trắng thừa sau khi thêm dữ liệu vì khi chạy Jmeter sẽ lấy ra từng dòng 1 (nó đang hiểu là vẫn còn dữ liệu để chạy tiếp)
    Capture.PNG

    Tobe continued........ 😁 😁 😁

    posted in Performance Testing read more
  • Vân Nga Vân Nga

    Data test khi tạo trên môi trường live phải được xóa đi sau khi sử dụng

    1. Đơn hàng sau khi tạo phải được hủy đi
    2. Tài khoản sau khi tạo phải xóa trên DB của Monkey mục 6
    3. Tài khoản dùng để test trên clevertap phải được chuyển sang trạng thái alf tài khoản test để không ghi nhận data ảnh hưởng đến kết quả team data report hàng tuần ( tích vào Make as test profile)

    photo_2022-02-16_15-17-42.jpg

    posted in Other read more
  • Vân Nga Vân Nga

    I. Cách log bug hiệu quả

    Log bug là một công việc cơ bản, thường xuyên và vô cùng quan trọng của một kiểm thử viên (tester/QA) trong quá trình kiểm thử phần mềm. Khi log một bug, người kiểm thử cần đảm bảo người đọc có thể dễ dàng hiểu được vấn đề xảy ra, sau đó có thể xử lý bug nhanh chóng, tránh lãng phí thời gian để trao đổi, xác nhận lại với kiểm thử viên, tuy nhiên hiện nay vấn đề này lại ít được chú ý đến.

    I. Mẫu log bug dự án Monkey

    🙌 Bug tạo trên jira sẽ là subtask

    • Tên bug

    • Môi trường, thiết bị, trình duyệt test

    • Hiện trạng

    • Các bước thực hiện

    • Kết quả mong muốn

    • Data test

    • Hình ảnh hoặc video (nếu có)

    • Assignee ( gắn tên dev)

    • Sprint

    • Version( đối với app)

    • Priority: Mức độ ưu tiên của bug

    photo_2022-02-16_15-17-42.jpg

    posted in Những tài liệu cần thiết trong dự án read more
  • Vân Nga Vân Nga

    I. Test case là gì?

    Test case (Kịch bản kiểm thử) còn được viết tắt là TCs, là test - kiểm tra các case - tình huống có thể xảy ra giúp Tester xác định một ứng dụng, hệ thống phần mềm hay một chứng năng ứng dụng có hoạt động đúng hay không. test case mô tả dữ liệu đầu vào (input), hành động (action) hoặc sự kiện (event) và một kết quả mong đợi (expected response).
    Tùy vào từng ngữ cảnh của dự án và quy mô công ty sản xuất phần mềm mà các bộ test case được viết chi tiết khác nhau.

    II. Mẫu testcase

    🙌 Các cột theo mẫu là các cột bắt buộc còn tùy theo tình hình dự án mẫu có thể thêm các trường khác

    🙌 Lưu theo folder từng dự án. Ví dụ: Driver > Mobile> Monkey Junior > Free topaid > Testcase Free to paid

    • Mẫu test case với về chức năng và phi chức năng:

    Capture.PNG

    • Mẫu test case với về tracking event :

    Capture.PNG

    • Mẫu testcase cho game: đối với game thường sẽ không có nhiều yêu cầu sẽ có các mục giống nhau như nhạc nền, guiding nên design theo các đầu mục. Link tham khảo
      Capture.PNG

    III. Một file testcase bao gồm
    Capture.PNG

    posted in Những tài liệu cần thiết trong dự án read more
  • Vân Nga Vân Nga

    I. Checklist là gì?

    Checklist là danh sách các đầu mục cần kiểm tra về nghiệp vụ, chức năng của hệ thống. Nó chỉ là các mục mang tính tổng quan. Bạn có thể phát triển nó thành bộ testcase hoàn chỉnh.

    II. Khi nào cần tạo checklist?

    • Modul lớn cần tạo checklist để người phụ trách review testcase thấy chắc chắn rawngd người thiết kế testcase hiểu đúng luồng.
    • Không đủ thời gian, dự án yêu cầu phải test trong thời gian ngắn.

    III. Tiêu chí tạo checklist

    • Xác định đối tượng nào cần tạo checklist

    • Tạo checklist dựa trên kinh nghiệm bản thân

    • list itemNhờ các thành viên trong team review để đảm bảo không thiếu sót

    IV. Mẫu checklist

    Link tham khảo

    • Trường hợp 1: Nếu checklist viết để review hiểu luồng sẽ bao gồm 2 cột: STT, Chi tiết

    • Trường hợp 2: Nếu check list viết vì không đủ thời gian viết testcase sẽ thêm Trạng thái theo đối tượng test ( chorme, firefox, Ios, Android, ....)

    🙌 Các cột theo mẫu là các cột bắt buộc còn tùy theo tình hình dự án mẫu có thể thêm các trường khác

    Capture.PNG

    Lưu theo folder từng dự án
    Ví dụ: Driver > Mobile> Monkey Junior > Free topaid > Checklist Free to paid

    posted in Những tài liệu cần thiết trong dự án read more
  • Vân Nga Vân Nga

    @qa_sonphan 1. ví dụ bạn đưa ra ở trên đang đảm từ phía client còn đo lường chất lượng từ phía server như CPU, disk,.. JMeter có hỗ trợ không nhỉ
    2. Khi thực hiện load test hay stress test : ví dụ mình cần đo 1 hệ thống với mong muốn 1k user chẳng hạn thì CCU mình sẽ nhập 1k luôn phải không
    3. Ngoài ra 1 hệ thống mình sẽ thực hiện cụ thể load test chẳng cho 1 vài tính năng hay toàn bộ tính năng của hệ thống

    posted in Tips_Jmeter read more
  • Vân Nga Vân Nga

    @qa_sonphan 😊 😊 😊 còn Android nữa thì sao bạn

    posted in Tips_Jmeter read more