vitaliiSmokov / QATestLab-1

Test task for position QA Specialist

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QATestLab

Test task for position QA Specialist

Тестовое задание на должность Специалиста по автоматизации тестирования Необходимо описать задачу с применением принципов ООП на языке Java или C#. При выполнении задания просьба пользоваться системами контроля версий (GitHub, Bitbucket…). Необходимо смоделировать рабочий процесс офиса в течении одного месяца. В офисе работает 10 - 100 сотрудников (задается случайно), каждый из них имеет одну или более одной должности (задается случайно для каждого сотрудника): Программист, Дизайнер, Тестировщик, Менеджер, Директор, Бухгалтер, Уборщик. Уборщики не могут выполнять никакой другой работы. Должность Директора и Бухгалтера можно совмещать только с должностью Менеджера. Каждый сотрудник имеет свой рабочий график, не более 8 часов в день и 40 часов в неделю. Каждая должность имеет свою почасовую ставку, работа в выходные оплачивается в двойном размере. Директор, Менеджер и Бухгалтер имеют фиксированную ставку. В фирме должны быть хотя бы один Директор, Менеджер и Бухгалтер. В процессе моделирования каждый час Директор дает одно или более одного распоряжения своим сотрудникам. Выполнение каждого распоряжения может занять от одного до двух часов каждым сотрудником, в должности которого входит выполнение поставленного задания. Если Директор дал несколько распоряжений, которые может выполнять один и тот же сотрудник, тогда данный рабочий выполняет наиболее приоритетное задание. Если задания имеют одинаковый приоритет, тогда следует выполнять наиболее оплачиваемое из них. Сотрудник не может выполнять более одного распоряжения одновременно. Если на выполнение распоряжения в офисе не имеется ресурсов, фирма передает задание фрилансерам (удаленным сотрудникам). Распоряжение об уборке офиса передавать на фриланс нельзя. Каждую неделю Бухгалтер начисляет зарплату сотрудникам исходя из фактически отработанных часов. Оплата фрилансерам выполняется в конце каждого дня. По окончании месяца необходимо сформировать суммарный отчет о выполненной работе и выданной зарплате по всем рабочим (сотрудникам офиса и фрилансерам) и для каждого сотрудника в отдельности, и сохранить его в текстовый документ. Минимальный набор должностных обязанностей: • Программист – «писать код» • Дизайнер – «рисовать макет» • Тестировщик – «тестировать программу» • Менеджер – «продавать услуги» • Бухгалтер – «составить отчетность» • Уборщик – «выполнить уборку в офисе»

Мои замечания: Если Директор совмещает работу с должностью Менеджера, то время когда он дает задания как-то учитывается? Если "да" - то какая длительность "выдачи заданий"? Если этот сотрудник выполняет работу Менеджера – «продавать услуги» во время перехода на новый час может ли "Директор в его голове" давать новые задания другим сотрудникам или необходимо ждать пока его "Менеджер" закончил свое задание? А если этот Менеджер уже выработал свои 8/40 то Директор уже не может давать задания. в своем решени задачи я принял что для сотрудника Директор "стоимость" чтобы дать задания сотрудникам равняется 1 час, т.е. если сотрудник совмещает работу с должностью Менеджер у него уменьшится его время для выполнения работы «продавать услуги». Как задается график? Это случайные цифры для каждого дня недели, но не более 8/40. Работа с 8:00 или с 00:00? Как считается время - если сотрудник получил задание длительностью 1час 30мин в 01:00, а потом ждет 30мин чтобы возможно получить следующее задание? Для почасовой оплаты или фрилансеров понятно(считается только фактическое время выполнения), а вот как быть с (Менеджер / Директор / Бухгалтер) у них не почасовая оплата и они могут прождать следующее задание более 8 часов и тем самым вроде как логично чтобы уже закончился их рабочий день. Как расчитывать зарплату за месяц если сотрудник одновременно и Менеджер и Програмист? за работу Менеджером он почасово не получает ничего, а за работу Програмистом есть начисления. в своем решении я складывал сумму заработанную сотрудником от почасовой работы и з.п. фиксированую штатным расписанием так же если сотрдник совмещал работу Менеджер/Директор или Менеджер/Бухгалтер то з.п. он получал от основной работы, хотя более логично чтобы получал большую из з.п. Я понимаю наличие 2х бухгалтеров и более, но почему в фирме более 1го Директора? были случаи когда в фирме из 10 человек было 8 Директоров (забавно было наблюдать за их распоряжениями и работой фрилансеров :) Один из Директоров в течении дня выдаст такое количество заданий что программа будет высчитывать решение слишком долго, возможно есть смысл ограничится диапазоном 20-100 заданий в час => 160-800заданий в день Если на момент выдачи задания директором в офисе все сотрудники с необходимой специализацией заняты, но освободятся через короткий период времени - задание все же отдается фрилансерам или ожидает свободного сотрудника? а на фриланс переходят все задания которые не успевают быть выполнены в течении дня 00:00-23:59 и когда все необходимые сотрудники выработали свое нормированное время дня/месяца? в своем решени задачи я если нет сотрудника с необходимой специализацией - отдавал задачу на фриланс, а уборку в офисе закрывал как "выполненую". Что делать с неполной неделей? Расчетный день недели фиксированный(понедельник/воскресенье) или равен начальному дню недели месяца (01.07.2016 - пятница)? т.к. эти недельные отчеты на результат вывода в файл не влияют - я оставил хвост недели не подсчитаным :)

About

Test task for position QA Specialist


Languages

Language:Java 100.0%