Giriş
Bu yazıda klasik anlamdaki QA anlatılıyor. Bazı iş yerlerinde çok farklı bir QA anlayışı var. Bu yeni anlayışa göre QA iki dala ayrılıyor
1. Manual QA Engineer
2. QA Automation Engineer
Manual QA Engineer
Açıklaması şöyle. Burada anlatılan aslında Klasik Yazılım Kalite Mühendisi
As a part of the QA team, manual testers make sure that your software solution is free from bugs and errors and meets all the technical and business requirements. They use various bug tracking and test management tools like Jira, ReQtest, and LoadRunner to explore your code, check through your interfaces, and report on any issues that affect the performance, usability, compatibility, configuration, security, and many other quality aspects of your software.QA engineers write test documentation, create test cases, assess the quality of your codebase, and identify development bottlenecks to help establish best development practices on your project. In the long run, hiring QA engineers saves you from a lot of trouble such as tech debt and unnecessary rework.
QA Automation Engineer
Açıklaması şöyle. Burada esas vurgu testlerin otomasyona geçirilmesi, yani QA aslında test eden kodları yazıyor.
While manual testers are mainly focused on assessing the quality of freshly built features and verifying elements that require human judgment, a QA automation engineer’s job is to make sure these new code and functionality don’t break anything in the previously implemented features. A QA automation engineer applies their strong programming skills and tools such as Selenium, Appium, or TestComplete to write various scripts that run in the background, continuously checking your code for bugs and errors. They create entire automation environments for repeated tests.Whether due to tedious repetitiveness or excessive complexity, some types of tests are simply not worth your manual testing resources. It would be a lot faster, more reliable, and cost-efficient to automate these QA processes and save your manual testers for tasks that require human attention. The best candidates for automation are unit, regression, performance, smoke, and integration tests.
Klasik Anlamda Yazılım Kalite Güvence Mühendisi Nedir?
Bir çok firmada Yazılım Kalite Güvence (SQA) mühendisleri bulunmaktadır.
Yazılım Kalite Mühendislerinin temel olarak iki görevi bulunur.
Bir çok firmada Yazılım Kalite Güvence (SQA) mühendisleri bulunmaktadır.
Yazılım Kalite Mühendislerinin temel olarak iki görevi bulunur.
1. Quality Gate
İlk görevleri Quality Gate olarak tabir edilir. Ürünü inceleyerek yeterli olgunlukta olup olmadığına karar verir. MIL-STD-498 sürecine göre çalışan bir firmada Yazılım Kalite Mühendisleri ürün yayınlanmadan önce şuna benzer kontroller yaparlar.
İlk görevleri Quality Gate olarak tabir edilir. Ürünü inceleyerek yeterli olgunlukta olup olmadığına karar verir. MIL-STD-498 sürecine göre çalışan bir firmada Yazılım Kalite Mühendisleri ürün yayınlanmadan önce şuna benzer kontroller yaparlar.
- Software Requirements Specification (SRS) gözden geçirmesi kayıtları. SRS yayınlanmış ve ana hat çekilmiş olmalı.
- Software Design Description (SDD) gözden geçirmesi kayıtları
- Kaynak Kod gözden geçirmesi kayıtları
- Birim testi gözden geçirmesi kayıtları
- Birim testi sonuçları gözden geçirmesi kayıtları
- Software Test Plan (STP) gözden geçirmesi kayıtları
- SRS ve STP arasında izlenebilirlik tablosu olmalı.
- Software Installation Manual (SIM) gözden geçirmesi kayıtları
- Software Build Manual (SBM) gözden geçirmesi kayıtları
- Yayım sonu değerlendirmesi
- Proje planları kontrolü
Projenin başında henüz ortada test edecek ürün yokken SQA'lerin SRS'i doğrulamaları hakkında bir açıklama şöyle.
I would suggest the QA engineer to perform requirements validation testing at this stage.It will ensure that the requirements written in software requirements specification (SRS) must be complete and consistent and are according to the customer’s needs. This process will ensure the validity of user requirements by eliminating ambiguities and inconsistencies from SRS and this could be the biggest payoff at this stage.
Eğer Üründe Hata Varsa
Bu bir mülakat sorusu. Soru şöyle.
There is a production release planned tomorrow. QA found a critical bug. The dev team is working hard to fix it with extra effort but they aren't anywhere close to a solution. The marketing team is asking for the production release.As the responsible QA person, should I reject the release or should I send the release to the marketing team with the known bug?If you reject the release it will affect your yearly evaluation.
Cevabı bence şirketten şirkete değişebilir. Bazı şirketlerde QA sürümü durdurma yetkisine sahip, bazılarında değil. Ancak en iyisi ortak bir karar alınması. Açıklaması şöyle.
Neither one. You should let all people involved know that there is such and such bug. You should communicate clearly what the bug means to customers and other people who use the product or are somehow involved (stakeholders). This might be a team effort as well
Non-Compliance Report
SQA tarafından bulunan uyumsuzluklar. Uyumsuzluklar proje yöneticisi tarafından ilgili kişilere atanır ve takibi yapılır. Uyumsuzluklara ilgili kişi örneğin 3 gün içinde cevap verir. Cevapta düzelteceği zamanı belirtir. Daha sonra SQA bir takip denetimi yapar ve konuyu kapatır.
Concern
SQA tarafından belirtilen önerilerdir. Proje ekibi bir şey yapmak zorunda değildir. İkinci görevleri ise süreçlerin iyileştirilmesidir.Aşağıdaki şekli buradan aldım. Klasik yaklaşımda Yazılım Kalite Güvence mühendislerinin Yazılım Test Mühendisleri ile karıştırılmaması gerekir. SQA süreçlerin iyileştirilmesinden sorumludur.
3. Security
Bazı şirketlerde Yazılım Kalite Mühendisi güvenlik işini de yapar. Ben buna yan görev diyorum. Açıklaması şöyle.
Bir çok Yazılım Kalite Mühendisi teknolojiden ve yazılımdan belli bir süre sonra koptuğu için bu görevi hakkıyla ifa edememekte ve süreci dokümantasyon ve formalizasyon ikilisi arasına sıkıştırıp bırakmaktadırlar.Bazı şirketlerde Yazılım Kalite Mühendisi güvenlik işini de yapar. Ben buna yan görev diyorum. Açıklaması şöyle.
Ancak
- Annual External Penetration Test using a crowd-sourced security testing service.
- Weekly static and dynamic scans on the code
- Security analysts review new user stories for security impact
Hiç yorum yok:
Yorum Gönder