So, first i want to say—from your brief description, it sounds like you have the responsibilities of three separate jobs: QA, automation, and devops. They are setting you up to fail by giving you so much responsibility, especially when you are not experienced in 66% of it.
If you are set on Javascript as your language of choice, then i think Cypress.io is probably a pretty good choice for you to get started. It's got a test recorder and you can watch your tests play back right out of the box, so that should be helpful.
When you feel comfortable with that and start needing to actually maintain your tests, read up on Page Object Model. It was designed as an approachable way to maintain automated test suites.
You're going to make mistakes, and have to spend a lot of time fixing them. There are just some things in automation that you only really internalize from making those mistakes and painfully fixing them.
As for the devops stuff... i really suggest they hire a devops specialist. All three of these jobs touch each other, but are distinct skillsets.
I think what you are looking for is a remote logcat. I haven't tried this personally so can't give you much advice. But if you haven't searched for that procedure, it might be a good start.
​
Also, does this app help? https://play.google.com/store/apps/details?id=com.tananaev.logcat&hl=en\_US&gl=US
True, but Waterfall came from somewhere.
It's an old model. My first exposure to it is in The Mythical Man-Month by Fredrick Brooks. He lays out what made the difference between a successful project and what made a project fail.
The sorts of projects that Waterfall was designed for were large, long-term development on software and hardware systems that were highly tied to each other and were difficult to modify after the fact. Brooks was arguing that managing the scope of the project, not allowing it to creep, and not allowing programmers to get distracted by constantly changing requirements/shifting targets meant that they were actually able to get shit done in a reasonable amount of time.
He argued that the way to go is to have a formal specification for the software, then sign a contact with the person who ordered it. Developing software without a contract would result in developers wasting time on writing code that would get pulled later. After all, every line that is written and then pulled out is doubly a waste of developer time.
We don't care about that any more. Developer time is still valuable, but with modern designs things are pluggable and can be disabled/enabled, sometimes without even requiring a code change. The worst that can happen is stories falling out of a build.
I'm a senior QE and was a QE manager. I get these emails constantly. The one thing I can recommend is to not send multiple emails if I have not responded. Every extra email just makes me hate your company even more.
Most emails I delete immediately. The few I've actually looked into offered demo videos and made it clear what exactly their product is useful for. Don't try to win over everyone with generic emails.
If companies really want to me pay attention, offer me some value. Create some video content of how to solve problems using your software. SauceLabs is a good example of a company that won me over with video content. https://saucelabs.com/resources/videos
Why not? It's a good start. The key is to make your pipeline easily repeatable and reusable, then you can use your existing steps in a CI later.
​
A few important things to consider:
Sorry if none of this is new to you, just my two cents. Once you're done all of this, you can consider the 'CI' component of this. You can look into building the codebase, and maybe deploying it somewhere before invoking your steps.
We used to use Selenium, but it proved to be very expensive to maintain. We're looking for more lightweight tools now for new products. The one I like and try to promote at work is Test Cafe (not old version with UI, but new opensource one https://devexpress.github.io/testcafe/)
Your goal is not to win an argument. Your goal is to convey feedback.
Be professional. You're dealing with a coworker. Doesn't matter what team they are from. You're all working on the same software, and should want to get along to achieve the same goals. Behave as a team, don't put blame on others, don't elevate your opinion or position.
Discuss the bug, not the developer. But before you do, test it to the extreme. Reproduce it a few times, memorize the steps, know the workarounds, grab logs, screenshots. You need evidence. Compare that evidence with any available documentation. Use the evidence and documentation in the discussion. When lacking documentation, try to argue for consistency, compare to a working product, etc.
Learn how to deal with confirmation bias and other logical fallacies. There's plenty of texts on the topic online. I strongly recommend The Skeptic's Guide to the Universe in book form and their podcast.
Use principle of charity. Interpret what the developer with the most benevolence. Assume they are rational and their arguments are sound. This way you might just see something you couldn't before like a new interpretation of the test results, or a new reason for the developers opposing stance.
Hey. I'am the product manager of Hiptest. We have improved the dashboard in the project list and we have more to come before the end of this month so stay tuned: https://trello.com/c/MWFKdmpz/95-widget-to-create-dashbord-from-multiple-test-runs It is possible to attach images to tests and scenarios. Test formatting is not yet planned as we are focusing on test automation and BDD. But I'll discuss your suggestion with the product team. Thanks!
If you're talking about a new feature or isolated change, it's A/B testing. If you're talking about a whole release, it's a staged (or staggered) rollout.
Another project will work fine if you are able to easily edit and deploy that project to be used as a dependency. A source control feature like git submodule is also an option.
Are you looking for an in-house solution or hosted? SauceLabs supports emulated and real devices. They obviously use Appium (or a custom version of Appium) behind the scenes, but they have a wrapper around most of the operations stuff.
+1 for Postman -- it's a great tool for learning/exploring APIs.
I released a tool for creating automated API tests called Assertible last year. If you're just get started it can be a good intro for how testing/asserting API requests work, so that may be worth checking out too! (Sorry for the self-plug!)
If you go for web, I'd recommend learning JS and Node.js (because it's useful in IT in general).
Many automation tools, e.g. https://devexpress.github.io/testcafe/ are based on JS. And they have rich documentation, and lots of manuals across the web.
You might find Rex Black's Managing the Testing Process useful. Lately he's turned into a certification enthusiast, but I found this older book very helpful when I became a team leader.
https://www.amazon.com/Managing-Testing-Process-Practical-Techniques/dp/0470404159
I found this app very helpful if you're on Android. It contains information and tests so it's nice to be able to just pick up and read up or do a test when you have a bit of spare time.
https://play.google.com/store/apps/details?id=com.istqbtestmentor
Required reading for all people on the development team at my current job (coders, QA, DBA's) is "The Clean Coder" by Robert C. Martin. Not specifically related directly to QA, but it's a great book on how to be a software development professional. "Software Testing: A Craftsman's Approach" by Paul Jorgensen is also a nice book too. It was updated a few years ago to include testing in agile environments.
I found the test to actually be easier. One thing I found pretty useful is the exam structure which tells you how many questions come from each section. I used the book below and found it to be extremely helpful. Overall if you’ve been in QA for some time and can pass the practice test consistently, you’ll do great.
https://www.amazon.com/Study-Guide-ISTQB%C2%AE-Foundation-Syllabus-ebook/dp/B07FKGGSHK
Unfortunately, the easiest way to switch is while you're employed. The job market for manual testers is not just bad "right now", I don't think it'll ever be good. Companies were driving toward automation and outsourcing manual testing well before Covid.
The amount of effort to actually get to the level to an employable SDET is quite big. You will be likely tested on algorithms and asked to live code even on the phone screen. Just tinkering wth some Selenium is not enough. It took me I think a year and a half: CS fundamentals, Selenium, learned PHP to a level where I could put together a simple web app using a database. Practiced what I learned at work and also learned CI. It's all a lot of work. I was super motivated and spent a crapload of time and effort.
I have a few friends and even family members in the same situation right now. I put together some guides for them. It's actually very easy to get started and get a sense of what automation is, but to get a job is a different story.
Feel free to use these guides. I tried to make them as simple as possible. They use Python which is the language I recommend to get started with.
Not sure what you are hung up on. The main purpose of the integration is to report bugs to Jira while testing on BrowserStack. It automatically provides the metadata including:
More can be found here.
I've never used firebase for app distribution so take this with a pinch of salt, but it seems legit.
Firebase is part of Google's suite of developer tools and it claims the profile is only to allow access to your device's unique identifer (required for first time set up of a new test device) and installing of app clips
https://firebase.google.com/docs/app-distribution/troubleshooting#firebase-profile-ios
OK, first thing that occurs to me, that you've likely tried, but worth checking; but have you enabled all the modules that are used to recognise objects? In QTP / UFT you enable support for different languages / modules; maybe TA has the same?
Secondly, the other weird thing we tried was using a calculated click positions. If you know the coords of the top left of the frame, you can then calculate where the desired line is and construct a click event. This obviously only works if you're trying to select a certain row, and doesn't help if you're trying to select by value.
https://sourceforge.net/p/pywinauto/mailman/message/26851143/ This suggested manipulating your detected frame control object by adding a root node, in the hope that any underlying DOM is then magically unlocked. We're well beyond my Fu now, so hopefully that makes sense to you? :-|
https://www.slideshare.net/mobile/atilainovecky/do-not-automate-gui-testing
Don't automate gui tests, you'll end up with a crapton of un-maintainable, flaky tests that break all the time.
Test the API instead or test for events in the page if you really must.
For testing in an Agile environment; would like to Recommend this book: https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468
If you also have devops, this book is also good: https://leanpub.com/testingindevops
Same response as I just gave someone else:
Sorry for the slow response. I guess I'd look around for any local courses on software testing. There's no shortage of online courses as well, can't say if they are good or not. I'd look for a mentor who can help you within the company or in another firm. I wouldn't worry about leadership just yet, focus on the job right in front of you. I'd recommend this book: https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468
Sorry for the slow response. I guess I'd look around for any local courses on software testing. There's no shortage of online courses as well, can't say if they are good or not. I'd look for a mentor who can help you within the company or in another firm. I wouldn't worry about leadership just yet, focus on the job right in front of you. I'd recommend this book: https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468
Also anything by James Bach or Cem Kaner should be good.
How hard is it? The hardest part I beleive will be getting yourself in the door for your first automation role once your in with basic knowledge you can use someone with more experience as your mentor and build from there.
Is the knowledge of core Java enough to automate test cases in Selenium web driver?
I would say No. It obviously hepls without question but selenium can be tricky. It would be useful to gain some knowlede in that area.
​
How long did it take for you to learn coding?
Honestly there no time frame. It depends how well you take in information and how many hours you put in to learning the skill.
​
But like anything else to do that it will require some work/study to increase your knowledge and devlop a new skill.
I used udemy.com to learn most of my test automation skiils/tools its a great place to start to build knowledge and confidence for any future interviews. I would reconmmend Rahul Shetty if you do have a look. He creates alot of content around the automation testing and really focuses on the testing aspect.
Of course this is not the only solution its just one appoach that I took, So look around and choose a method that suits yourself.
Patience and practice.
If you want to use machine learning in your automated projects, here's a great video you can watch.
Also, Sololearn is a good website/app if you want to learn more about various languages and concepts.
For monitoring, you could use a service like DataDog to monitor your services, in both production and staging environments. DataDog works decently in Windows environments as well. It is a cloud platform which basically does a similar job as PerfMon, but way better. It's very simple to set up, and has a free trial period.
​
In our case, we have a TV with our DataDog dashboard open, which has graphs on all important performance metrics (cpu, memory, queue sizes, network latencies, etc.) of our production servers. Then, we basically set SLA thresholds for each metrics, and we receive an alarm/slack alert if any metrics on our prod servers exceed that SLA.
Test management tools play a very significant role in enhancing software quality effectively. Nowadays, the C-suite is investing a lot of time to find the best-suited tool as per their organization’s requirements.
Therefore, we are presenting you the list of best test management tools that can help testers in 2019. Read more here https://www.kualitee.com/blog/test-management/best-test-management-tools-must-used-2019/
TestCafe has excellent built-in support for cross-browser testing. It is open source, though.
Any particular reason you're looking for non-open-source tools?
I recently came across an amazing post which talks about the same problem, in that they say:
For an existing website or app, you’ll start with analytics. But that’ll give you an implicitly biased answer. Your website/app only gets traffic from devices/platforms and browsers it supports in the first place. To figure out the variety of combinations of devices/platforms and browsers you must support (to keep the lights on at work, or expand your reach), look at market data.
The only way to keep up with this market is through early, continuous compatibility testing as and when more and more combinations are released. Try to do it in a periodic manner, may be once in a week or once in a month, so that you cover all the new device, OS and browser combinations.
Here's the link to the blog I am talking about: https://www.browserstack.com/blog/testing-for-fragmentation-understanding-browser-and-device-fragmentation/
You could use a tool like Mockoon to mock and API endpoint. I'm not sure if that's what they're asking for.
Then to test, simply follow a rest assured tutorial and give it the URL for your mockoon server. I agree with the basic tests that u/noganetpasion gave.
My current go-to tool(s) for test automation is PhantomJS and CasperJS. PhantomJS is essentially a WebKit headless browser, and CasperJS runs on top of it, providing you with a TON of powerful tools to test your web application.
I used to run Selenium and WebDriver, but it just wasn't worth it to my specific needs. Recorded tests would require a crap ton of editing to guarantee they'd run every time, and randomizing input and saving variables and passing between tests was much more of a hassle than it should've been.
We're currently just starting to run CasperJS tests as a cron job on a virtualized server that sends test output to an IRC channel. It's got a hook to github to pull and run the test suite whenever there's a new push to master. When there are timeouts or failures in the test suite, a bot appears in our main IT IRC channel and gets my attention. Extremely streamlined for our workflow. :)
Oh, and it's been handy for automated testing of our mobile web layout as well.
As @shaunpdx said you can call requests in using cy.request! This is particularly useful if you have a FE that may have post calls during, before or after your processes!
https://www.cypress.io/blog/2017/11/07/add-gui-to-your-e2e-api-tests/
Maybe test in layers: e2e user stories only via UI. Then API calls (spy on them), then if needed you can access the internal data to confirm it. https://www.cypress.io/blog/2017/11/28/testing-vue-web-application-with-vuex-data-store-and-rest-backend/
I can recommend you Cypress. It is far more stable and easier to learn than Selenium. I had no experience in automation and setup the whole framework and a full automated smoke check for our software within half a year. Their documentations are great, it also has a great community. Also on stackoverflow a lot of people can help you, because Cypress is used by a lot of people.
I don't think this would be possible from an iOS app/device. Only one user can interact with an app on a single device at a time.
Whatever the backend is, that's where you'll need to performance test. You'd need the api's the app is sending and then use an api test tool - would be my best guess. Maybe something with Charles is possible?
Else - if you've got 50 phones available...you can hook them up to something like BBC Hive and then run the test in parallel.
Take a look at the elastic stack ( https://www.elastic.co/v5 ). It used to be called the ELK stack. You can feed your results in pretty easily with logstash and then visualize them however you like pretty quickly.
If you use jenkins, just add the credentials there as credential variables ( jenkins has it's credentials stored separately so you can't even print them out )
Then you can configure those to be accessable globally or only specific jobs or kinda whatever you want.
https://jenkins.io/doc/book/using/using-credentials/
But if you do automation seriously, just setup a db connection, create your own users with specific permissions, specific data. This way you don't have to worry about flaky tests or someone messing up your test data.
In terms of security stuff, you could test that
You may also want to ask them about their tools, like if they use things like Fiddler (for network request inspection) or JMeter (for load testing)... You could even ask them about their collaboration tools, like what do they use to maintain test cases? How do they file bugs? Do they use JIRA for tracking sprints, or Confluence for maintaining a knowledge base/wiki?
You could try something like Microsoft's TFS and if you get really big and want to spent a stupid amount of money then you can go with HP Application Lifecycle Management (ALM)
here it is https://smallpdf.com/result#r=2541a4b16ce0b8fd8f5adb6fad0b6a9c&t=share-document
please not that i need help only for sub task 3, as i am trying to solve it on my own
i came up with
1a) 30%
1b) 27.9%
1c) 21.1%
Direct owners: /Gordon JAck Sara
Interediate : Gordon
Ultimate - unknown beneficiare of CLB Epislon trust
​
I only need a little guidance from anyone who is smart and willing to help me out
Thank you!!!!
this book has helped me a lot: https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468/ref=sr_1_1?dchild=1&keywords=agile+testing&qid=1603886912&sr=8-1
even if you do not buy it, googling the contents will give you some very useful aspects.
I wouldn't run away, as some others are suggesting. QA/Testing is a great learning experience that can help you understand technology from a variety of different perspectives. Personally I would recommend buying a few good testing books, you can learn everything conceptually about testing from reading 2-3 books. Everything else is learning specific tools, businesses and technologies.
Here's the book I loved when I first started in a testing role (15 years ago though...) - https://www.amazon.co.uk/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124
If you are in Barcelona, DM me, happy to meet for a coffee.
​
​
​
​
​
​
​
Start with Clean Code and Clean Coder ( two books!) of Robert R.C. Martin. They teach you how to write good code, it's the basic knowledge every programmer should know or at least have heard from. In one of the books the author also introduces a testing framework so that might be useful for you, but be aware the book is already a bit old so the framework isn't that up-to-date and in my opinion there are better ones.