Какие будут мнения?
Я не могу понять на чем мне сфокусироваться. Приложение которое тестирую LAMP+yii+angular.js
Авто тесты я написала на java. С одной стороны мне нужно улучшить существующие тесты..с другой стороны чем больше понимаешь при чтение кода тем легче писать тест кейсы и в перспективе может unit tests. Сейчас я пытаюсь все это делать понемногу..но в итоге у меня и с Java прогресса мало, по всем остальным темам только базовые знания, авто тесты почти некогда писать.
На что сделать приоритет:
1. все силы направить на Java и получить SCJP certificate
2. немного поддерживать знание Java и все время отдать на изучение Javascript with angular.js
3. немного поддерживать знание Java и все время отдать на изучение PHP with yii framework
4. немного поддерживать знание Java и все время отдать на изучение Selenium Webdriver + переписать автоматизированные тесты которые уже написаны так чтобы они использовали Page Object Model
5. немного поддерживать знание Java и все время отдать на изучение протоколов + Soap UI + testing WebServices.
QA на чем сфокусироваться для карьерно-денежного роста
-
- Новичок
- Posts: 28
- Joined: 18 Jan 2012 01:13
-
- Новичок
- Posts: 67
- Joined: 07 Jan 2014 02:14
- Location: Peter, RU -- Seattle, US
Re: QA на чем сфокусироваться для карьерно-денежного роста
Я обычно смотрю - куда человек изначально ориентирован. Потому что заниматься надо тем, что по-настоящему нравится.
Хочется двигаться в сторону Dev team? DevOps? Security? Virtualization? Cloud computing?
Еще надо смотреть - в каком штате (CA?, WA?, TX?), так как потребности рынка, думаю - везде разные.
В любом случае, надо стараться смотреть шире + чтобы процент автоматизированного тестирования был как можно больше.
Желаю удачи!
P.S. Насчет unit tests - как правило, ими должны заниматься сами разработчики. Потому что это low level функциональность. Ваша задача - автоматизировать пользовательские сценарии, в идеале - end to end. Другими словами - надо не только проверить, как это все работает, но и то - как это можно сломать? Или даже взломать
Хочется двигаться в сторону Dev team? DevOps? Security? Virtualization? Cloud computing?
Еще надо смотреть - в каком штате (CA?, WA?, TX?), так как потребности рынка, думаю - везде разные.
В любом случае, надо стараться смотреть шире + чтобы процент автоматизированного тестирования был как можно больше.
Желаю удачи!
P.S. Насчет unit tests - как правило, ими должны заниматься сами разработчики. Потому что это low level функциональность. Ваша задача - автоматизировать пользовательские сценарии, в идеале - end to end. Другими словами - надо не только проверить, как это все работает, но и то - как это можно сломать? Или даже взломать
Everything is possible, the impossible just takes longer
-
- Уже с Приветом
- Posts: 6662
- Joined: 02 Sep 2003 15:19
- Location: Через речку от Манхэттена
Re: QA на чем сфокусироваться для карьерно-денежного роста
хмм. а что кто-то все еще тестирует софт??
или просто выкидывают на рынок в надежде , что пользователи отестируют?
или просто выкидывают на рынок в надежде , что пользователи отестируют?
Резюме — это список дел, которые ты больше никогда не хочешь делать.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: QA на чем сфокусироваться для карьерно-денежного роста
Главное, дождаться, что скажут сисадмины СлонЮра и Стоик.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 6662
- Joined: 02 Sep 2003 15:19
- Location: Через речку от Манхэттена
Re: QA на чем сфокусироваться для карьерно-денежного роста
дак кому еще как не сисадминам потом все это написанное на коленке запускать в реальную работу?Medium-rare wrote:Главное, дождаться, что скажут сисадмины СлонЮра и Стоик.
у половины нынешних программ даже удаление нормально не работает. т.е похоже даже не тестировалось.
Резюме — это список дел, которые ты больше никогда не хочешь делать.
-
- Уже с Приветом
- Posts: 607
- Joined: 17 Dec 2009 11:27
Re: QA на чем сфокусироваться для карьерно-денежного роста
Вебдрайвер не настолько силен и могуч, чтобы ему отдавать все времяsayswho wrote:
4. немного поддерживать знание Java и все время отдать на изучение Selenium Webdriver + переписать автоматизированные тесты которые уже написаны так чтобы они использовали Page Object Model
5. немного поддерживать знание Java и все время отдать на изучение протоколов + Soap UI + testing WebServices.
Сделайте несколько примеров чтобы уверенно работать с локаторами.
Все тесты на использование Page Object Model тоже переписывать не нужно. Парочку для понимания. Или те, что будете обновлять.
И протоколы не нужно изучать.
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
Re: QA на чем сфокусироваться для карьерно-денежного роста
QA: Node, Karma, Phantom, Zombie...sayswho wrote: Какие будут мнения?
Я не могу понять на чем мне сфокусироваться. Приложение которое тестирую LAMP+yii+angular.js
Авто тесты я написала на java. С одной стороны мне нужно улучшить существующие тесты..с другой стороны чем больше понимаешь при чтение кода тем легче писать тест кейсы и в перспективе может unit tests. Сейчас я пытаюсь все это делать понемногу..но в итоге у меня и с Java прогресса мало, по всем остальным темам только базовые знания, авто тесты почти некогда писать.
На что сделать приоритет:
1. все силы направить на Java и получить SCJP certificate
2. немного поддерживать знание Java и все время отдать на изучение Javascript with angular.js
3. немного поддерживать знание Java и все время отдать на изучение PHP with yii framework
4. немного поддерживать знание Java и все время отдать на изучение Selenium Webdriver + переписать автоматизированные тесты которые уже написаны так чтобы они использовали Page Object Model
5. немного поддерживать знание Java и все время отдать на изучение протоколов + Soap UI + testing WebServices.
Code: Select all
var Browser = require("zombie");
var assert = require("assert");
// Load the page from localhost
browser = new Browser()
browser.visit("http://localhost:3000/", function () {
// Fill email, password and submit form
browser.
fill("email", "zombie@underworld.dead").
fill("password", "eat-the-living").
pressButton("Sign Me Up!", function() {
// Form submitted, new page loaded.
assert.ok(browser.success);
assert.equal(browser.text("title"), "Welcome To Brains Depot");
})
});
Бога нет.
-
- Новичок
- Posts: 28
- Joined: 18 Jan 2012 01:13
Re: QA на чем сфокусироваться для карьерно-денежного роста
Это я тестовое задание делала.. времени много ушло и гуглом пользовалась, поэтому не думаю что живое интервью потяну.
Однако любопытство гложет, что можно переписать, улучшить и почему?
http://www.codeshare.io/OR9al
package Interview;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Scanner;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.Map;
/*
Write a function that takes two parameters:
(1) a String representing a text document and (2) an integer providing the number of items to return.
Implement the function such that it returns a list of Strings ordered by word frequency,
the most frequently occurring word first.
Use your best judgement to decide how words are separated.
Your solution should run in O(n) time where n is the number of characters in the document.
Implement this function as you would for a production/commercial system. You may use any standard data structures.
*/
//case sensitive e.g 'fish' is not the same as 'Fish'
public class Evernote {
public List<String> frequentWords(String docPath, int numOfItems)
{
Map<String, Integer>unsortedMap = new HashMap<String,Integer>();
List<String> freqWords=null;
List<String> allWords=new ArrayList<String>();
File f = new File (docPath);
Scanner scan =null;
try
{
scan = new Scanner(f);
while (scan.hasNext()){
allWords.add(scan.next());
}
for (int i = 0;i<allWords.size();i++)
{
if (unsortedMap.containsKey(allWords.get(i)))
{
unsortedMap.put(allWords.get(i), (unsortedMap.get(allWords.get(i)))+1);//word and increment occurrence
}
else
{
unsortedMap.put(allWords.get(i),1);//word and occurence 1
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (scan!=null)
{
scan.close();
}
}
//2. Sort Map
Map<String, Integer> sortedMap = sortByComparator(unsortedMap);
//2A. optional
//printMap(sortedMap);
//3. Save entire list of ordered keys
freqWords = new ArrayList<String>(sortedMap.keySet());//map should be ordered by value at this point
if (numOfItems>freqWords.size())
{
System.out.println("Number of requested frequent words("+numOfItems+") is greated than total number of frequent words("+freqWords.size()+")");
System.out.println("Returning entire list of frequent words");
}
else if ( numOfItems==0)
{
System.out.println("Number of requested frequent words is "+numOfItems);
freqWords=null;
}
else
{
freqWords=freqWords.subList(0, numOfItems);//return specific num of items
}
return freqWords;
}
private static Map<String, Integer> sortByComparator(Map<String, Integer> unsortMap) {
// Convert Map to List
List<Map.Entry<String, Integer>> list =
new LinkedList<Map.Entry<String, Integer>>(unsortMap.entrySet());
// Sort list with comparator, to compare the Map values
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2) {
return (o1.getValue()).compareTo(o2.getValue());
}
});
// Convert sorted map back to a Map
Map<String, Integer> sortedMap = new LinkedHashMap<String, Integer>();
for (Iterator<Map.Entry<String, Integer>> it = list.iterator(); it.hasNext();) {
Map.Entry<String, Integer> entry = it.next();
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
public static void printMap(Map<String,Integer> sortedMap)
{
for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
}
}
class TestEvernote
{
public static void main(String[] args) {
String path ="C:\\InterviewPractice\\words.txt";
Evernote ev = new Evernote();
List<String>freqWords =ev.frequentWords(path, 700);
for (String s: freqWords)
{
System.out.println(s);
}
}
}
Однако любопытство гложет, что можно переписать, улучшить и почему?
http://www.codeshare.io/OR9al
package Interview;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Scanner;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.Map;
/*
Write a function that takes two parameters:
(1) a String representing a text document and (2) an integer providing the number of items to return.
Implement the function such that it returns a list of Strings ordered by word frequency,
the most frequently occurring word first.
Use your best judgement to decide how words are separated.
Your solution should run in O(n) time where n is the number of characters in the document.
Implement this function as you would for a production/commercial system. You may use any standard data structures.
*/
//case sensitive e.g 'fish' is not the same as 'Fish'
public class Evernote {
public List<String> frequentWords(String docPath, int numOfItems)
{
Map<String, Integer>unsortedMap = new HashMap<String,Integer>();
List<String> freqWords=null;
List<String> allWords=new ArrayList<String>();
File f = new File (docPath);
Scanner scan =null;
try
{
scan = new Scanner(f);
while (scan.hasNext()){
allWords.add(scan.next());
}
for (int i = 0;i<allWords.size();i++)
{
if (unsortedMap.containsKey(allWords.get(i)))
{
unsortedMap.put(allWords.get(i), (unsortedMap.get(allWords.get(i)))+1);//word and increment occurrence
}
else
{
unsortedMap.put(allWords.get(i),1);//word and occurence 1
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (scan!=null)
{
scan.close();
}
}
//2. Sort Map
Map<String, Integer> sortedMap = sortByComparator(unsortedMap);
//2A. optional
//printMap(sortedMap);
//3. Save entire list of ordered keys
freqWords = new ArrayList<String>(sortedMap.keySet());//map should be ordered by value at this point
if (numOfItems>freqWords.size())
{
System.out.println("Number of requested frequent words("+numOfItems+") is greated than total number of frequent words("+freqWords.size()+")");
System.out.println("Returning entire list of frequent words");
}
else if ( numOfItems==0)
{
System.out.println("Number of requested frequent words is "+numOfItems);
freqWords=null;
}
else
{
freqWords=freqWords.subList(0, numOfItems);//return specific num of items
}
return freqWords;
}
private static Map<String, Integer> sortByComparator(Map<String, Integer> unsortMap) {
// Convert Map to List
List<Map.Entry<String, Integer>> list =
new LinkedList<Map.Entry<String, Integer>>(unsortMap.entrySet());
// Sort list with comparator, to compare the Map values
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2) {
return (o1.getValue()).compareTo(o2.getValue());
}
});
// Convert sorted map back to a Map
Map<String, Integer> sortedMap = new LinkedHashMap<String, Integer>();
for (Iterator<Map.Entry<String, Integer>> it = list.iterator(); it.hasNext();) {
Map.Entry<String, Integer> entry = it.next();
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
public static void printMap(Map<String,Integer> sortedMap)
{
for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
}
}
class TestEvernote
{
public static void main(String[] args) {
String path ="C:\\InterviewPractice\\words.txt";
Evernote ev = new Evernote();
List<String>freqWords =ev.frequentWords(path, 700);
for (String s: freqWords)
{
System.out.println(s);
}
}
}
-
- Уже с Приветом
- Posts: 106
- Joined: 09 May 2007 07:33
- Location: Novosibirsk, SFBA
Re: QA на чем сфокусироваться для карьерно-денежного роста
Для карьерно-денежного роста QA надо сфокусироваться на
QA -> Business Analyst -> Program/Product Manager
QA -> Business Analyst -> Program/Product Manager