[QA\QC] Agile Testing Methodologies – Lesson 1

  • Propose incremental and iterative approach to software design
  • Customer can look at the product early and frequently and makes decision or changes any time
  • Small projects can be implemented very quickly. But large project is difficult to estimate the development time
  • The agile process is broken into individual that designers work on
  • Agile model is considered unstructured compared with water fall model
  • Error can be found and fixed in the middle of projects
  • Development process is iterative. The project is executed in short (2-4) weeks iteration. The planning is very less.
  • Documentation attends less priority like the software development
  • Every iteration has its owning testing phases. It allows implementing regression testing every time new functions or logic are released.
  • In Agile testing when an iteration ends, shippable features of the product are delivered to customer. New features are usable right after shipment. It is useful when you have good contact with customers
  • In Agile process, tester and developer work together.
  • At the end of every sprint, user acceptance test is performed
  • It requires close communication with developers and together discuss about requirements and planing.

Agile testing Methodology includes: Scrum – The main thing needs learning.

Advertisements

[QA\QC] Software Testing Life Cycle

The software testing process is to conduct as follow the order:

Requirement Analysis -> Test planning -> Test case development -> Test environment setup -> Test execution -> Test cycle closure. Each cycle also has a entry and an exit criteria, activities and deliverables associated with it

Requirement Analysis

  •  During this phase, QA team will study the requirements from test point of view to indetify testable requirement. Besides that, QA member will contact with stakeholder (client, Business analyst, developer lead, architect lead) to understand the requirement in detail.
  • The requirement could be either functional (which defined what software must to do) or non-functional (system performance or security availability)
  • Automation feasibility for given testing project is also done in this phase.

Identify types of tests to be performed.

Gather details about testing priorities and focus.

Prepare Requirement Traceability Matrix (RTM).

Identify test environment details where testing is supposed to be carried out.

Automation feasibility analysis (if required).

Test planning

  •  Test plan is also called as Test Strategy. Typically, in this phase, QA manager will determine efforts and cost estimate for the project and would prepare and finalize test plan.
  • In this phase, QA manager will defined test plan/strategy document for various types of testing
  • Test tools selection
  • Test effort estimation
  • Resource planning and determining roles and responbisilities
  • Training requirements.

Test Cases Developments

In this phase, test case, test script and test data will be created, reviewed and re-work as well.

Activities

  •   Design test case, test script for automation
  • Review and baseline test cases and test scripts
  • Prepare test data if test environment is available

Test Environment Setup

This phase can be done in parallel with test cases development. Test environment setup is critical aspects of testing process and maybe  this stage is conducted by developer team.

Activities

  •  Environment setup and test data are prepared in this stage
  • Understand about architect requirements and prepare hardware and software requirement list for the test environment
  • Smoke test the build is needed (in outsource company, test lead will do a smoke test, but at product company, developer team will conduct it before transform to QA/QC team)

Test Execution

This phase will be executed by QA/QC team after receiving the smoked build from the developer team. At stage, QC engineer will execute steps by steps for each function. The testing process will carry out based on the test plan. The bugs will be reported on bugs system tracking like JIRA, BUGGILA, Mantis,… Developer team will be notified about bugs and start figuring out and fixing.

Activities:

  •  Execute test cases
  • Document results and logs defects for the failed cases
  • Map defects to the test cases in RTM
  • Retest the fixed defects
  • Track the defects to closure

Deliverables

  • Complete RTM with execution result
  • Test cases updated with result
  • Defect report

Test Closure

This phase is when ends of the testing process. The QA team will meet, discuss and finalize everything in the testing strategies to find something good for the best practices in the similar future projects and something need taking the lesson from the current testing cycle.

Activities:

  • Evaluate cycles completion criteria on time, test coverage, cost, software, critical business objectives and quality
  • Prepare test metrics based on the above parameters
  • Document the learning out of the project
  • Prepare test closure report
  • Qualitative and quantitative report of quality of the work product to customer
  • Test result analysis to find out defects distribution by type and severity.

Deliverables

  •  Test closure report
  •  Test Metrics

Senior Automation Testing

Currently I have seen many companies recruits senior automation testing with competitive salary and a numerous benefits so I am actually interested in on it. But I have no experience about automation, so it’s difficult to promote another position with much high challenges. Besides requiring have many experience years but proficiency of English is also must, especially speaking and writing. To me, I don’t much worry about English speaking, just  a bit not confident with Writing.

In future, I would like to change to another company because I want to work in more professional environment with many opportunities than the current one.

Since I have no challenges and opportunities to learn what I want and get the desired position. Although, i have a lot free time to learn, to prepare somethings and to do part-time jobs at the present but It’s not the main goal. I now want to focus on my key career first. On the order hand, having assurance in the career path which helps me get a fixed income to pay for my living’s fee. Therefore, I will pay attention and intention to enhance my testing skills in manual and automation for applying a new chance during in the current workplace.

In addition, I can do a part-time job as tutor – English teaching, one of the most favorite activity in leisure. This job helps me make more money which I save for plans in the next times. Besides that this job also keep pushing me to improve and advance my language skills. To work in the professional cooperation, need me to have enough language ability to adapt.

Back to testing, I am wondering what kind of company to work for? Is this outsourcing or product ones? In fact, I prefer working in the outsourcing company than the product ons due to variable projects. Through that I can accumulate for myself a lot of knowledge and experiences. More than that I have chances to work abroad in the developed countries where many technologies have been invented. Additionally, my CV would be more valuable in interview’s eyes, this makes me easy to get high promotion,such as leader, BA,…

Totally, I should prepare and be ready for any chances come. Temporally, I continue working in the current position then getting essential things.

Fighting, let’s learn hard and prepare to get the best things.

Your goal in Job

The Job

The Role
Perform as an experienced Tester within the software development team. The ideal candidate should display a passion for high quality software testing with attention to detail. Expect ample opportunities for advancement, as well as generous bonus programs.

Responsibilities
To help deliver AVTech’s strategy the successful candidate will be responsible for:

• Lead, mentor and support team members;
• Prepare, develop QC procedures;
• Review BRD, FDD, TDD and other technical documentation to ensure testability and completeness;
• Develop test strategy, test plans, test cases and user acceptance tests;
• Coordinate with related parties to review and revise requirements;
• Plan and conduct comprehensive and effective quality control of existing and new software applications;
• Execute tests and open defects using bug tracking systems;
• Keep track of product quality and provide timely feedback to the related parties;
• Collaborate closely with Development, and Support to analyse and resolve issues;
• Develop and utilize automated test tools to increase efficiency and test coverage;
• Preparing and maintaining documentation;
• Timely delivery of solutions;
• Provide support to existing clients;
• Provide task estimates and updating tasks, activities and time keeping within internal systems;
• Reporting progress to management;
• Travel when required.

Your Skills and Experience

To help deliver AVTech’s strategy the successful candidate MUST HAVE the following skills, experience, qualifications and personality attributes:

Skills & Experience

• Minimum of 5+ years proven testing experience;
• Good written and documentation skills;
• Good presentation and time management skills;
• Good communication skills;
• Good technical experience in 1 or more:
o Web application testing (automation and manual);
o Windows form application testing (automation and manual);
o Mobile application testing would be an advantage;
o Automation test scripts, automation test framework and automation test tools like Selenium, Silk Test, QuickTest Pro, etc.;
o Performance and security testing and tools like LoadUI, HP Load Runner, Apache JMeter, Httperf, Wireshark, Nessus, etc.;
o MS SQL Server, T-SQL language.
• Good at creating testing strategy, test plan, test cases;
• Good at software quality assurance methodologies, reporting and managing bugs/change requests with using Bugs/Change Requests Tracking Tools such as TFS, Bugzilla, Jira, BugGenie, Redmine, TestLink, etc.;
• Good at multi-tasking and working multiple projects;
• Good leadership and tasks management skills.

Qualifications

• Candidates with a Bachelor degree in Computer Science or a related discipline;
• Other known industry qualifications and certifications such as ISTQB would be an advantage.

Personality Attributes

• Professionally presented;
• Excellent organizational and analytical skills;
• Good listener, willing to learn, reliable and committed;
• Self-motivated and willing to work outside the normal business working hours to meet business and client expectations;
• A positive, results oriented and customer focused attitude;
• A desire to take responsibility and ownership to see actions/issues through to completion;
• The ability to adapt quickly to a changing environment that often requires proactive and innovative solutions.

Why You’ll Love Working Here

Benefits of working at AVTech

AVTech’s strategy is simple: Provide the best quality solutions and the best customer service in the market. As a result we are looking for only the very best people to join our team.

When joining AVTech you will be joining a progressive and growing company that looks after its staff. AVTech provide an attractive remuneration package including:
• Competitive package;
• Performance bonuses;
• Training.

Other benefits of working with AVTech include:

• Working with an Australian company that maintains the highest of quality standards and operational best practices;
• Working alongside other high calibre people;
• The opportunity to travel locally, domestically and internationally;
• The opportunity to work with a variety of customers in different industries.