QA Automation: Difference between revisions

From Secure Group Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(51 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Our Automation QA employees are responsible for developing and executing exploratory and automated tests. Automation QA responsibilities also include designing and implementing tests, debugging and defining corrective actions to ensure the highest product quality. They also review system requirements and track quality assurance metrics (e.g. defect densities and open defect counts.)
The QA Automation engineers are responsible for producing a powerful set of test cases and internal testing tools to support the development of our operating system. They help us increase the efficiency of our quality testing by developing scripts that automate test cases for key product features.


This is a very important role in our company's product development process so they have an interface with a variety of teams. Our QAs conduct tests before the product's launch to ensure the software is running smoothly and meets our partner's needs while focusing on being cost-effective. Ultimately, they monitor all stages of software development to identify and resolve system malfunctions to meet quality standards and to automate the biggest amount of features and processes.
Our QAs design and implement such tests, debug and define corrective actions to ensure the highest product quality. They are also key players to ensure collaboration with other members of the engineering team to find the best methods for solving problems and securing the quality and usability of our products.


As an Automation QA in '''Secure Group''', you will have the opportunity to develop hard skills and soft skills and progress in our Career Journey as:
Developing in this framework means closely monitoring the software development process to identify what are its automation possibilities to ultimately ensure our testing capacity works at its full potential and to ensure the quality of our solutions.


Level 1: Automation QA Developer
= Progression=
<br />
In order to progress in our development path and Level Up or Step Up, our QA Automation team must:
Level 2: Senior Automation QA Developer
* Meet the criteria of the Level & Step Chart for the [[Performance#Individual_Contributors_Levels|Individual Contributors Path]]
<br />
* Meet the [[QA_Automation#KAI_of_the_framework|KAI]] grade of the framework related to each level
Level 3: Automation QA Software Engineer
* Demonstrate proficiency in [[Secure Group Knowledge]]
<br />
</br>
Level 4: Senior Automation QA Software Engineer
<br />
Level 5: Automation QA Architect
<br />
Level 6: Sr. Automation QA Architect
</br>
 
=== Introduction ===
In order to achieve the best of their performance, we will introduce the list of requirements and concepts our Automation QAs should focus on to succeed in our business, as well as their remuneration.</br>
In order to progress in our Career Journey, they need to:
 
* Meet the criterias of the [https://careers.securegroup.com/wiki/Career_Journey#General_ICs_Job_Level_Chart General ICs Job Level Chart] & [https://careers.securegroup.com/wiki/Career_Journey#General_ICs_Job_Step_Chart General ICs Job Step Chart]
* Meet the specific criterias of the Automation QA framework regarding:
- [[#General_Knowledge|General Knowledge]] a list of indispensable softwares, tools, platforms and more, for '''Secure Group''', that they need to know (it can be a little bit out of the scope of their position).</br>
- [[#Specific_Knowledge|Specific Knowledge]]: a list of concepts, tools, software and etc, that are indispensable for them to develop under the scope of their position.</br>
- [[#Secure_Group_Knowledge|Secure Group Knowledge]]: a list of products, company profile and features that they need to know in order to succeed in '''Secure Group'''.</br>
- [[#Basic_IT_Concepts|Basic IT Concepts]]: a list of essential concepts that we consider to be basic for our Frameworks and that we expect employees to master.</br>
 
''Observation: if there's any requirement that is repeated in the following tables but with different grades, the higher requested proficiency will prevail in the Performance Evaluation.''
 
=== General Knowledge ===
To be able to reach Level 3 in our Career Journey there is some General knowledge regarding a variety of subjects that we request from our Automation QAs. This means that considering the [[KAI]] grades of proficiency, they will need to score from 4 to 6 in the following items:


= Salary Grid =
All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.
<div class="center">
{| class="wikitable"
{| class="wikitable"
!colspan="6"|General Knowledge
!colspan="2"|QA Automation
!colspan="4"|Step
|-
|-
!rowspan="1"|'''Concepts'''
!rowspan="11"|Level
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
|-
|-
!rowspan="1"|'''Frameworks'''
!Individual Contributor Path
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
!1
!2
!3
!4
|-
|-
!rowspan="13"|Softwares/Tools/Platforms - Usage
!1
|[https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
|4.500
|4.650
|4.800
|4.950
|-
|-
||[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
!2
|5.500
|5.650
|5.800
|5.950
|-
|-
|[https://en.wikipedia.org/wiki/Confluence_(software) Atlassian Confluence]
!3
|6.500
|6.650
|6.800
|6.950
|-
|-
|[https://en.wikipedia.org/wiki/Jira_(software) Atlassian Jira]
!4
|-
|7.500
|[https://en.wikipedia.org/wiki/BambooHR BambooHR]
|7.650
|-
|7.800
|[https://goharbor.io/ Docker Harbor]
|7.950
|-
|-
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
!5
|8.500
|8.650
|8.800
|8.950
|-
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
!6
|-
|9.500
|[https://www.libib.com/ Libib]
|9.650
|-
|9.800
|[https://openstf.io/ OpenSTF]
|9.950
|-
|[https://www.small-improvements.com/ Small Improvements]
|-
|[https://marketplace.atlassian.com/apps/15711/synapsert-test-management-for-jira?hosting=server&tab=overview Atlassian Jira SynapseRT]
|-
|[https://thycotic.com/ Thycotic Passwordbox]
|-
!rowspan="2"|Softwares/Tools/Platforms - Configuration
|[https://www.docker.com/products/container-runtime Docker Engine/Container]
|-
||[https://en.wikipedia.org/wiki/Elasticsearch Elasticsearch]
|-
!rowspan="1"|'''Languages (Idioms)'''
|Advanced English
|}
|}
</div>
</div>


=== Specific Knowledge ===
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework =
To be able to reach Level 3 in our Career Journey there is some technical knowledge we request from our Automation QAs. This means that considering the [[KAI]] grades of proficiency, they will need to score from 4 to 6 in the following items:
== Extensive Knowledge ==
 
  </div>
{| class="wikitable"
  <div class="box-content framework">
!colspan="6"|Specific Knowledge
    <div class="center">
{| class="wikitable" style="text-align:center; font-size:11px; font-family:Arial, Helvetica, sans-serif !important;; background-color:#DEEBFF; color:#222;"
|- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;"
! rowspan="2" | Type
! rowspan="2" | Knowledge Description
! colspan="6" | Minimum Grade to acquire Level X
|- style="font-weight:bold; vertical-align:middle; background-color:#F4F5F7; color:#172B4D;"
| Level 1
| Level 2
| Level 3
| Level 4
| Level 5
| Level 6
|-
|-
!rowspan="6"|'''Concepts'''
| rowspan="6" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Frameworks
|[https://en.wikipedia.org/wiki/Agile_software_development Agile]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [http://casperjs.org/ CasperJS]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://developer.android.com/guide/components/activities/process-lifecycle Application Lifecycle]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JUnit JUnit]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Balanced_scorecard Balanced Scorecard]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://developer.android.com/training/testing/espresso Espresso]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[http://tryqa.com/what-is-a-defect-life-cycle/ Defect life cycle]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PHPUnit PHPUnit]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Integrated_development_environment IDE]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Test_automation Test Automation]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/TestNG TestNG]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="3"|Frameworks
| rowspan="7" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Protocols
|[https://en.wikipedia.org/wiki/JUnit JUnit]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/SIP_(software) SIP]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/PHPUnit PHPUnit]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/XMPP XMPP]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Selenium Selenium]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/ZRTP ZRTP]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="2"|Languages
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Pretty_Good_Privacy PGP]
|[http://casperjs.org/ CasperJS]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/JavaScript JavaScript]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="1"|Libraries
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/OMEMO OMEMO]
|[https://developer.android.com/training/testing/espresso Espresso]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="6"|Softwares/Tools/Platforms - Usage
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Transport_Layer_Security SSL]
|[https://en.wikipedia.org/wiki/Appium Appium]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://count.ly/ Countly]
| rowspan="9" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Programming languages
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Bash_(Unix_shell) Bash Script]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Git Git]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Command-line_interface Command line]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Instabug Instabug]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Jenkins_(software) Jenksins]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/HTML HTML]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/SQuirreL_SQL_Client SQuirrel SQL client]
| style="background-color:#FFF; color:#172B4D; text-align:left;" | [https://en.wikipedia.org/wiki/Java_(programming_language) Java]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="2"|Softwares/Tools/Platforms - Configuration
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JavaScript JavaScript]
|[https://en.wikipedia.org/wiki/Apache_Tomcat Apache Tomcat]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kotlin_(programming_language) Kotlin]
|}
| style="background-color:#E3FCEF;" | Practical application
 
| style="background-color:#E3FCEF;" | Practical application
=== Secure Group Knowledge ===
| Applied theory
To be able to reach Level 3 in our Career Journey there is some specific knowledge from our company that we request from our Automation QA team members. This means that considering the [[KAI]] grades, they will need to score a minimum proficiency considering Secure Group Knowledge in a Documentation level in the following perspectives:
| Applied theory
{| class="wikitable"
| Applied theory
!colspan="1"|Secure Group Knowledge
| Applied theory
!rowspan="1"|What's Expected
!rowspan="1"|Impact
!rowspan="1"|Product
!colspan="1"|Minimum Grade
|-
!rowspan="6"|User Documentation
|rowspan="6"|Good, user-level knowledge regarding the product and its functionalities. From the user documentation, all employees across the company are required to be well aware of our solutions’ core features and functions such as the Password Advisor or how to send an automatic crash report.
|rowspan="6"|This knowledge helps us facilitate a user-centric approach internally, which we believe is essential to develop our business and solutions. The user documentation helps team members understand user behavior and needs more thoroughly and feel the impact of their everyday efforts.
|Secure OS
|4
|-
|SAS
|4
|-
|Secure Chat
|4
|-
|Secure Email
|4
|-
|Secure Vault
|4
|-
|Secure Manager
|4
|-
!rowspan="6"|Sales Documentation
|rowspan="6"|Employees should gain significant knowledge regarding the business side of '''Secure Group'''. They need to be aware of commonly used concepts in our day-to-day activities such as our business and distribution model, value proposition, selling prices, key selling points, and target audience.
|rowspan="6"|The information in the Sales Documentation supports employees in their daily routine. It conveys the overall business vision within the company. This documentation contributes to making employees aware of how our solutions are distributed, who are our key partners and target market to know exactly the people towards whom team members’ efforts should be aimed. Alignment on company-wide priorities is also achieved through clear communication of our value proposition and key selling points, helping everyone understand the things that matter most.
|Secure OS
|3
|-
|SAS
|3
|-
|Secure Chat
|3
|-
|Secure Email
|3
|-
|Secure Vault
|3
|-
|Secure Manager
|3
|-
!rowspan="6"|Support Documentation
|rowspan="6"|People within the company need to be aware of commonly occurring problems with our solutions. From the Support Documentation, employees should also extract general level knowledge regarding support processes, the issues that we’re currently having product-wise, and the approach to troubleshooting them.
|rowspan="6"|o The Support Documentation helps employees understand short-term priorities more clearly and communicate more openly why they’re needed. It also gives them general knowledge of how to spot and report a problem, which helps us facilitate a company-wide contribution to product development. Last but by no means least, it helps team members understand customers pains and behavioral patterns to strengthen our user-centric approach.
|Secure OS
|3
|-
|-
|SAS
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PHP PHP]
|3
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Chat
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/XML XML]
|3
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Email
| rowspan="6" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Libraries
|3
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Linphone Linphone]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Vault
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/start-using-web-services-in-exchange Microsoft Exchange Web Services]
|3
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Manager
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Mockito Mockito] or [https://developer.android.com/training/testing/espresso Espresso]
|3
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="6"|Functional Documentation
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Smack_(software) SMACK]
|rowspan="6"|Through the Functional Documentation, employees should get a thorough understanding of the solutions and their multiple features. People that work closely with the products must understand exactly how they function, how users interact with them, how to configure different settings, and what’s the expected behavior of different software solutions.
| style="background-color:#E3FCEF;" | Practical application
|rowspan="6"|o The information in the Functional Documentation helps employees whose work is closely connected with our solutions, to gain significant in-depth knowledge into their functionalities that far exceeds users‘ understanding. Such thorough product expertise helps us remain objective, evaluate market data more adequately, and constantly increase our internal expertise.
| style="background-color:#E3FCEF;" | Practical application
|Secure OS
| Applied theory
|4
| Applied theory
| Applied theory
| Applied theory
|-
|-
|SAS
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://levelup.gitconnected.com/timber-a-logging-library-for-android-56c431cd7300/ Wood Solutions Timber]
|4
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Chat
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.zetetic.net/sqlcipher/ Zetetic SQL Cipher]
|4
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Email
| rowspan="16" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Software/Tools/Platforms <br />
|4
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Apache_Tomcat Apache Tomcat]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Vault
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Appium Appium]
|4
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Manager
| style="background-color:#FFF; color:#172B4D; text-align:left;" | [https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
|4
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="6"|Technical Documentation
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://count.ly/ Countly]
|rowspan="6"|Employees concerned with the Technical Documentation and more concretely - software development, must gain complete mastery over all solutions. Such people are regarded as technical experts and need to be well aware of data structures, relational databases, algorithms, programming languages, models, etc.
| style="background-color:#E3FCEF;" | Practical application
|rowspan="6"|The Technical Documentation is used to make sure people that are technically involved in product development have the required knowledge to perform their day-to-day tasks, optimize our solutions more easily, and support other teams with their in-depth expertise.
| style="background-color:#E3FCEF;" | Practical application
|Secure OS
| Applied theory
|4
| Applied theory
| Applied theory
| Applied theory
|-
|-
|SAS
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.docker.com/products/container-runtime Docker Engine/Container]
|4
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Chat
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Elasticsearch Elasticsearch]
|4
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Email
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Git Git]
|4
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Vault
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Instabug Instabug]
|4
| style="background-color:#E3FCEF;" | Practical application
|-
| style="background-color:#E3FCEF;" | Practical application
|Secure Manager
| Applied theory
|4
| Applied theory
|-
| Applied theory
|}
| Applied theory
 
=== Basic IT Concepts ===
To be able to reach Level 3 in our Career Journey there are some IT concepts that we request our Automation QA team to master. This means that considering the [[KAI]] grades of proficiency, they will need to score from 4 to 6 in the following items:
 
{| class="wikitable"
!colspan="3"|Basic IT Concepts
|-
!rowspan="1"|'''Category'''
!rowspan="1"|'''Concepts'''
!rowspan="1"|'''Description'''
|-
!rowspan="19"|'''System Administration'''
|Linux server set up
|
* How to install a Linux server/workstation distribution
* How to prepare a coding environment on a workstation
|-
|Remote servers with SSH connection
|
* How to set up SSH
* How to connect to a server
* How to use a key to connect to SSH
|-
|Users management
|
* How to create, remove and modify users on a Unix system
* How groups work
|-
|File permissions
|
* How to grant/remove different levels of access to different parts of the file system with chmod and chown.
* How to read files permission
|-
|Init systems
|
* How to configure Init system to start/stop processes at specified run levels
* How to start and stop services
|-
|Firewall configuration
|
* Understand the need for a firewall
* How to limit inbound network traffic to specific ports
|-
|Basic monitoring
|
* Understand the free memory, disk usage, load average and other metrics for server performance
|-
|Package manager
|
* How to install software packages and how to update them
|-
|Web Server
|
* How to set up a static web server
* How to Set up a LAMP server
|-
|Static file deployment
|
* Understand some automated method of updating: using rsync to keep the files up to date or similar
|-
|Basic Docker management & administration
|
* What is Docker engine and what is a docker controller
* How to set up a basic docker environment on a workstation
* How to create, RUN, Pause, Unpause, Start, Stop Restart, Kill container
|-
|Active Directory
|
* What are the major features in Active Directory Domain Services (trees, trust, forest)
* How to create a user, add a mailbox, etc
* How to create a Group policy and how to enforce it
* How to troubleshoot and configure Windows 2008 R2 - 2012 R2
* How to use the administration tools (Active Directory, DNS etc)
|-
|Storage
|
* What is NFS, ISCSI, Samba
* How to share folders in windows
* What is a Security Descriptor
* What is Access Control List (ACL)
* What is a parent directory and a child directory
|-
|Email Server
|
* What's the difference between a transaction e-mail and an email API
* What's the relation between Simple Mail Transfer Protocol (SMTP), Mail Transfer Agent (MTA), Domain Name System (DNS), Mail Exchanger (MX), Post Office Protocol (POP),  Internet Message Access Protocol (IMAP)
* What are the SPAM rules and how to use SPAM engines
|-
|PKI
|
* What's a PGP universal server
* What is a Certificate and a Certificate Authority
* What's the difference between a Public Key and a Private Key and what are they used for
* How to configure a web server certificate with SSL (port443)
* How digital signatures work and how it's related to the authentication
* What's SSL, TLS, PGP, OTR, OMEMO
|-
|Reading logs
|
* What are the basic network events: Intrusion detection, packet blocked or allowed, access log
* How to read the MSexchange tracking log and understand an event
* How to read the PGP server log and understand an event
* How to read, request and identify the problem in the Web Server or API server log
|-
|Virtualization
|
* What is VMware Server/Desktop application and how it works
* How to replicate VMs
* How to restart VMs
|-
|XMPP
|
* What's the XMPP protocol and how to use it
* What are the main extensions
|-
|SIP Protocol
|
* What is the SIP protocol and how to use it
* How to differentiate media from signaling
|-
!rowspan="5"|System Administration - Day to Day Ops
|-
|Day to Day Ops
|
* How to set up a network printer and put it in the correct driver into a print server
* How to set up a working station and advanced drivers configuration
* How to set up a network printer and put it and the correct driver into a print server
|-
|Commands
|
* What are the universal keyboard commands for operating systems
* What is a command line
* What are the most common CMD commands and what are they used for (Ipconfig, Ping, Dir, Nslookup, Tracert)
* What are the most common PowerShell commands and what are they used for
|-
|Hardware
|
* Understand Advanced hardware: terminology, troubleshoot and the relation between them
|-
|Root cause analysis
|
* What is cause and effect and how they are related
* What is an event in a system log
* How to navigate an event using a timestamp
|-
!rowspan="6"|'''Android Development'''
|Android Studio
|
* How to create a project and how to connect a device
* How to execute real-time debugging
|-
|Adb command
|
* How to perform basic adb to capture log
* How to load an OS via adb
* What are the most basic adb command and how to use them: devices, push, pull, reboot, reboot-bootloader, reboot recovery, fastboot devices, fastboot unlock, install
* How to execute USB debugging
|-
|Android SDK
|
* What are layouts and views and what's the relation between them
* What are activities and their life cycle
|-
|SQL
|
* What is SQL and what it does
* How to write a simple SQL query
|-
|Android OS architecture
|
* What are the basic components of an Android Phone:
* Android Runtime – ART Linux Kernel, Libraries, Application Framework, Applications
|-
|AndroidOS or Android App log
|
* How to identify actions in an app that can cause a log entry
|-
!rowspan="4"|'''Networking concepts'''
|Network concepts
|
* What's the OSI model and how to use it
* What is DHCP
* What is DNS and the type of records as well as how to edit and check them
* What are the differences and relations between Internal DNS and External DNS
* What is a VLAN (from a VERY high level)
* What is TCP and IP
* What are the differences between UDP and TCP and when to use each one of them
|-
|Basic firewall concept
|
* What are the NAT rules
* What is Port forwarding used for
* How to set up port forwarding
|-
|Basic Traffic Sniffing
|
* How to set up Wireshark on a workstation and connect to a device
* How to use a proxy to intercept traffic
|-
|Basic Networking Command
|
* What are the most common CMD commands and what are they used for (Ipconfig, Ping, Dir, Nslookup, Tracert)
* How to use web tools: mxtools, visual trace route, dnstools, etc…
|-
!rowspan="9"|'''Programming'''
|HTML/CSS
|
* How to write or modify a very simple web page and basic HTML tag
|-
|RestAPI, JSON
|
* How to post to an API request
* How to understand the result using a tool
|-
|Basic arithmetic functions
|
* How to work on complex Excel or to use VBA formula
* How to apply general basic arithmetic in any programming language
|-
|Variable
|
* What is a variable and how to use it
* What is math, string, array and boolean and how to use them
|-
|String manipulation
|
* Understand how to concatenate, trim, manipulate strings in any programming language
|-
|Looping - flow control
|
* Understand basic IF, THEN, ELSE clause in any programming language
* Understand how to build a looping array in any programming language
|-
|SDLC
|
* What is the Software Development Life Cycle concept
* What are the phases of the SDLC
* What are software development models
|-
|Version Control
|
* What's version control and where it's used
* How to identify and administrate revisions
|-
|Conditionals
|
* How to apply BASIC boolean algebra
* What are Logical operator (And/Or) and how to use them
|}
 
=== Salary Grid ===
{| class="wikitable"
!colspan="3"|Automation QA
!colspan="4"|Step
|-
!rowspan="11"|Level
|-
!Individual Contributor Path
!Management Path
!1
!2
!3
!4
|-
|-
!1: Automation QA Developer
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kamailio Kamailio]
!-
| style="background-color:#E3FCEF;" | Practical application
|1.500 lv
| style="background-color:#E3FCEF;" | Practical application
|1.650 lv
| Applied theory
|1.800 lv
| Applied theory
|1.950 lv
| Applied theory
| Applied theory
|-
|-
!2: Sr. Automation QA Developer
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure]
!-
| style="background-color:#E3FCEF;" | Practical application
|2.500 lv
| style="background-color:#E3FCEF;" | Practical application
|2.650 lv
| Applied theory
|2.800 lv
| Applied theory
|2.950 lv
| Applied theory
| Applied theory
|-
|-
!3: Automation QA Software Engineer
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Openfire Openfire]
!Manager
| style="background-color:#E3FCEF;" | Practical application
|3.500 lv
| style="background-color:#E3FCEF;" | Practical application
|3.650 lv
| Applied theory
|3.800 lv
| Applied theory
|3.950 lv
| Applied theory
| Applied theory
|-
|-
!4: Sr. Automation QA Software Engineer
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Samsung_Knox Samsung Knox]
!Sr. Manager
| style="background-color:#FFFAE5;" | Limited experience
|4.500 lv
| style="background-color:#FFFAE5;" | Limited experience
|4.650 lv
| style="background-color:#E3FCEF;" | Practical application
|4.800 lv
| Applied theory
|4.950 lv
| Applied theory
| Applied theory
|-
|-
!5: Automation QA Architect
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Selenium_(software) Selenium]
!Head of
| style="background-color:#E3FCEF;" | Practical application
|5.500 lv
| style="background-color:#E3FCEF;" | Practical application
|5.650 lv
| Applied theory
|5.800 lv
| Applied theory
|5.950 lv
| Applied theory
| Applied theory
|-
|-
!6: Sr. Automation QA Architect
| style="background-color:#FFF; color:#0052CC; text-align:left;" | Secure Manager
!Director
| style="background-color:#E3FCEF;" | Practical application
|6.500 lv
| style="background-color:#E3FCEF;" | Practical application
|6.650 lv
| Applied theory
|6.800 lv
| Applied theory
|6.950 lv
| Applied theory
| Applied theory
|-
|-
!-
| style="background-color:#FFF; color:#0052CC; text-align:left;" | SAS
!Sr. Director
| style="background-color:#E3FCEF;" | Practical application
|9.000 lv
| style="background-color:#E3FCEF;" | Practical application
|9.400 lv
| Applied theory
|9.800 lv
| Applied theory
|10.200 lv
| Applied theory
| Applied theory
|-
|-
!-
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/SQuirreL_SQL_Client SQuirrel SQL client]
!Chief of
| style="background-color:#E3FCEF;" | Practical application
|11.200 lv
| style="background-color:#E3FCEF;" | Practical application
|11.600 lv
| Applied theory
|12.000 lv
| Applied theory
|12.400 lv
| Applied theory
| Applied theory
|-
|-
!-
| style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Languages (idioms)
!VP
| style="background-color:#FFF; color:#172B4D; text-align:left;" | Advanced Business English
|13.400 lv
| style="background-color:#FFFAE5;" | Limited experience
|13.800 lv
| style="background-color:#FFFAE5;" | Limited experience
|14.200 lv
| style="background-color:#E3FCEF;" | Practical application
|14.600 lv
| Applied theory
| Applied theory
| Applied theory
|}
|}
  </div>
  </div>
</div>
</div>

Latest revision as of 08:09, 6 October 2022

The QA Automation engineers are responsible for producing a powerful set of test cases and internal testing tools to support the development of our operating system. They help us increase the efficiency of our quality testing by developing scripts that automate test cases for key product features.

Our QAs design and implement such tests, debug and define corrective actions to ensure the highest product quality. They are also key players to ensure collaboration with other members of the engineering team to find the best methods for solving problems and securing the quality and usability of our products.

Developing in this framework means closely monitoring the software development process to identify what are its automation possibilities to ultimately ensure our testing capacity works at its full potential and to ensure the quality of our solutions.

Progression

In order to progress in our development path and Level Up or Step Up, our QA Automation team must:


Salary Grid

All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.

QA Automation Step
Level
Individual Contributor Path 1 2 3 4
1 4.500 4.650 4.800 4.950
2 5.500 5.650 5.800 5.950
3 6.500 6.650 6.800 6.950
4 7.500 7.650 7.800 7.950
5 8.500 8.650 8.800 8.950
6 9.500 9.650 9.800 9.950

KAI of the framework

Extensive Knowledge

Type Knowledge Description Minimum Grade to acquire Level X
Level 1 Level 2 Level 3 Level 4 Level 5 Level 6
Frameworks CasperJS Practical application Practical application Applied theory Applied theory Applied theory Applied theory
JUnit Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Espresso Practical application Practical application Applied theory Applied theory Applied theory Applied theory
PHPUnit Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Scrum Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
TestNG Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Protocols SIP Practical application Practical application Applied theory Applied theory Applied theory Applied theory
XMPP Practical application Practical application Applied theory Applied theory Applied theory Applied theory
ZRTP Practical application Practical application Applied theory Applied theory Applied theory Applied theory
PGP Practical application Practical application Applied theory Applied theory Applied theory Applied theory
OTR Practical application Practical application Applied theory Applied theory Applied theory Applied theory
OMEMO Practical application Practical application Applied theory Applied theory Applied theory Applied theory
SSL Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Programming languages Bash Script Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Command line Practical application Practical application Applied theory Applied theory Applied theory Applied theory
CSS Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
HTML Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Java Practical application Practical application Applied theory Applied theory Applied theory Applied theory
JavaScript Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Kotlin Practical application Practical application Applied theory Applied theory Applied theory Applied theory
PHP Practical application Practical application Applied theory Applied theory Applied theory Applied theory
XML Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Libraries Linphone Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Microsoft Exchange Web Services Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Mockito or Espresso Practical application Practical application Applied theory Applied theory Applied theory Applied theory
SMACK Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Wood Solutions Timber Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Zetetic SQL Cipher Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Software/Tools/Platforms
Apache Tomcat Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Appium Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Atlassian Bamboo Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Countly Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Docker Engine/Container Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Elasticsearch Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Git Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Instabug Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Kamailio Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Microsoft Azure Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Openfire Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Samsung Knox Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Selenium Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Secure Manager Practical application Practical application Applied theory Applied theory Applied theory Applied theory
SAS Practical application Practical application Applied theory Applied theory Applied theory Applied theory
SQuirrel SQL client Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Languages (idioms) Advanced Business English Limited experience Limited experience Practical application Applied theory Applied theory Applied theory