К примеру есть некое действие - которое может иметь разный эффект на статус объекта в системе. Допустим при нажатии кнопки A у нас меняется какое-то свойство объекта. При чём как оно поменяется, зависит от предыдущих состояний объекта перед нажатием кнопки. Теперь вопрос - как обычно подходят к такому виду тестирования? Стоит ли создавать один тестовый класс, который проверяет предыдущие состояния объекта и исходя из этого выбирает нужный набор данных для проверки, или же лучше написать индивидуальные тестовые классы для каждого состояния? Конкретный пример:
Некоторый документ проходит несколько стадий обсуждения. В результате меняются статус, появляются некоторые дополнительные атрибуты, которых не было раньше и так далее. В какой-то момент пользователь решает отменить предыдущие изменения (так сказать вернуться на шаг назад). При этом все статусы должны поменяться по определённой логике на предыдущие. Должны так же исчезнуть некоторые атрибуты документа. При этом то, какие атрибуты документа поменяются зависит от текущей стадии обсуждения.
У меня теперь два варианта:
1. Наваять тестовый класс со сложной логикой и проверками в @BeforeClass - зато он будет универсален и не будет зависеть от состояния тестового объекта. Он сам будет знать исходя их входных данных, что тестировать и как.
2. Разбить тестирование на несколько классов с более узкой специализацией и разным набором тестов. Как бы к этому подошли вы?
EPAM Systems announces the open position of a Senior Software Testing Engineer with strong technical experience. We are looking for a smart, pro-active, goal-oriented, motivated, self-organized, and experienced team player on a Key Tester position.
NB. We are also considering candidates from Russia and Ukraine.
Requirements:
- Experience in testing of Web Services (REST) using Soap UI;
- Understanding of functional testing principles;
- English at least B1.
Plus experience:
- Automated testing experience with Groovy scripting for complex validations;
- Experience in usage of any other programming languages.
Responsibilities:
- Key QA person in the back-end stream;
- Supervision of 1+ team members;
- Communication with other teams from EPAM side (Dev, UI automation teams) and with the customers.
We offer:
- Competitive compensation depending on experience and skills;
- Financial stability;
- Individual career path;
- Extensive social package;
- Opportunities for self-improvement: electronic libraries, seminars, and conferences;
- English classes, speaking clubs with native speakers;
- Friendly team, loyalty, and understanding;
- Flexible working schedule.
Project description:
The product is an end-to-end E-Discovery SaaS solution that provides an intuitive, guided E-Discovery solution covering: Analytics, Concept Search, Predictive Coding, Document Review, Production. The system will be disruptive in terms of being a complete cloud based solution, pricing models, and best in class capabilities.
Contact: Татьяна Зубкова
Tatsiana_Zubkova@epam.com
+375 44 7491007 Skype tatsiana_zubkova1
Are you ready to be a part of something "BIG"? Project with the leader in scalable storage infrastructure for BIG DATA & CLOUD is in need of experienced Linux Test Automation Engineers.
Requirements:
- Linux administration;
- Scripting languages (Python, bash);
- Cluster and posix-based file systems ;
- English (B1+) and overall good communication skills;
- Experience in Team Leading;
- Continuous integration using Jenkins;
- Git/gerrit;
- Various automation frameworks and automation approaches.
Plus experience:
- Familiarity with software development methodologies: Agile, Scrum etc.;
- Acquaintance with the following network and file systems: NFS, CIFS, GPFS, Lustre;
- NAS, RAID data storages.
Responsibilities:
- Develop, maintain and execute automated test scripts;
- Develop and support automation applications and testing/QA infrastructures for all phases of testing storage subsystems;
- Work out strategies to expedite testing cycles and improve overall testing quality;
- Architect, design and implement test harness software, hardware and system solutions used for all phases of development and testing;
- Drive small teams (3-4 people).
We offer:
- Competitive salary;
- Great career opportunities;
- Modern working environment;
- Medical services (Lode medical center, massage, vaccination, and more);
- Corporate events, tourism, children programs (summer camps, parties, presents);
- Sport events (table tennis, soccer team, annual camping event);
- Internal professional trainings and courses;
- Short- and long-term language courses of all levels (English and German);
- Corporate discounts (insurance, medical services, travel, and more).
Contact: Татьяна Зубкова
Tatsiana_Zubkova@epam.com
+375 44 7491007 Skype tatsiana_zubkova1
Есть ли какая то возвожность используя letter переменную получить тот же результат как и в случае с List<WebElement> elements = getWrappedElement().findElements(By.cssSelector("#letter-item")) ?