DAY 1 - Industry Connect

a. What is a client and a server?
Server is where the data are stored. the client is something like device or operation system that can read the data from the server.

(from internet)A client is a computer hardware device or software that accesses a service made available by a server. The server is often (but not always) located on a separate physical computer.


b. What is cloud based software?

an application that can be only used online instead of local computer. 

(from internet)also called Software as a Service, or SaaS, allows users access to software applications that run on shared computing resources (for example, processing power, memory, and disk storage) via the Internet.


c. What are the different environments in a software development team?

Development environment. 

Testing environment. 

Staging environment. 

Production environment.


d. Why does production and test environment have to be similar?

cos we have simulate the real or the closest test environment as while the end user 

using the prodection. otherwise the test result will not be accruate.


(from internet)I would rephrase the question to: How useful is it to have a production-like environment for testing?

It is very useful. As a tester, I would love to have a prod like environment.

When you say, ‘important’, it implies that it is more important than other things. The reason I point this out is that over the last many years, there are many new ideas in testing - agile, devops, testing in prod. Every idea has people pushing it as the savior of testing. All these are useful. However, none of them substitutes for testing - the critical thinking related to risk.

The idea behind testing in production is that with distributed systems, you really can’t replicate it in the lab. Also, as long as you design your infrastructure to support instant updates to production, there is nothing wrong with testing in production.

There is another important concept when evaluating new ideas - False dilemma - Wikipedia. You don’t have to choose between two ideas. You can use both.

For testing in production, you don’t have to make a choice. You can test in the lab as well as test in production. The problem with testing in production is that it requires some effort to be able to update production instantly. If you can’t do it, you continue with your testing as usual. Testing in production also isn’t a substitute for other testing.

I also recommend thinking about a production environment and think about how you can replicate it. Can you create realistic users? Can you simulate load over time? Are there pieces that you can replicate, without a full fledged ‘testing in production’?

To repeat: Testing in production is very useful.


f. What is a use case?

what are the end users will use the product under the real life senario. 


(from internet)A use case is a way to describe how a user will use the software in a particular situation in a comprehensive way from the point of view of the business. It is not a single transaction but a collection of transactions that make sense from the user/business view.

For example, in a ATM a use case will be to withdraw money. For this:

  1. The user enters the credit card
  2. The ATM ask for the control digits
  3. The user enters the control digits
  4. (Assuming they’re ok) The ATM offers a menu of choices
  5. The user selects “Withdraw money”
  6. The ATM shows a screen where the user can enter the amount required
  7. … (you get the idea)

A Use case includes the “happy scenarios” where there are not choices or error conditions, the “Alternative” scenarios where the Use case can have different branches (i.e. The user does not need a printed recipe) and the “Error treatment” scenarios where error conditions are handled (i.e. The user has no money left).


g. What is the purpose of a QA engineer in a software development team?

QA engineer will help monitor the development quality and efficency.


(from internet)The main role of QA is quality assurance. A QA engineer focuses on improving software development processes and preventing defects in production. In other words, they make sure the software development team is doing the right things the right way. The QA engineer job scope embraces a number of duties.


“QA is more focused on managing the product life cycle and verifying that the software meets the defined quality standards or customer agreements… Testing, on the other hand, may keep an eye on the processes and often owns them, but is far more concerned with finding ways to break the software.”





评论

此博客中的热门博文

DAY 4 - Industry Connect

DAY 6 - Industry Connect

DAY 3 - Industry Connect