> For the complete documentation index, see [llms.txt](https://yenkang-2.gitbook.io/advanced-software-engineering/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yenkang-2.gitbook.io/advanced-software-engineering/week14-note-type-of-testing.md).

# week14  note-Type of testing

#### 2017-12-18(一)

### Advanced Software Engineering-week14 note

## 【筆記】

* 為什麼以前的人，國中高中畢業就能進入職場？為什麼現在擁有相同學歷的人不行？
  * answer1:industry環境不同(partial truth )
  * 自動化下，人的specific skill需要會越來越少
* 大學與研究所差別在哪裡？
  * 大學：accumulate knowledge
  * 研究所：based knowledge, 去思考
* 你們到工業界，扮演的角色是什麼？
  * 公司要找people who can think with knowledge
* 工程 equals 工時的觀念？
  * manage的power能減少工時，但保持工程的quality
* 當你在公司發現valdation有錯，你要怎麼跟公司回報？
  * 找你來不是 report problem?
  * How could you do?

> - 根據 Static and dynamic V\&V的圖，公司少做了中間三個steps，High-level design, formal specification, detailed design，但是再 requirements specification部分是有做的，可以透由這些前人留下的document，繼續follow以下的step
> - 關鍵於inspection 需要被改進，而不是說Software 要被re-do，要明白哪些東西還能夠利用，哪些地方再補上，不用一竿子打翻一條船
> - 公司是要找一個能夠找到問題，並且提出solution的人

#### 當你是manager時，遇到自己不會做的部分時，你會怎麼做？

* 第一反應：自己跳下來做
* Truth：每次project規劃中，都可能規劃出一塊大家都不會的部分，老師提到自己的solution，把那一塊分得很仔細，並且清楚地附上**bonus**，最後結果是，時程比預期晚一些。
* 關鍵在於生死與共，錢又共享，成功率就會上升
* Business中，不要能刀子揮，要拿virtual 黃金(future)來push他人做事
* 因此，要重新一個software process好好訂，waterfall, evolutionary, component-based 要好好去了解
* 通常，waterfall是最有效的方式，可能在某些stage的工時花很的多，某些很快就能delivery

### Program Test

* Can reveal the presence of errors **Not** their absence
  * testing 要有等級
  * Type of testing：**defect testing** and **validation testing**
* The only validation technique for non-functional requirements as the software has to be executed to see how it behaves
  * Validation tech for non-functional requirements
  * 老師提到 “照片處理的software公司”，用Agile的implementation找出 non-functional 的 factor

#### 在不是學校得制度下，請問你們怎麼對自己做validation 與 verification?

* 你如何保證自己的verification 跟 validation?

#### 微積分到底有沒有用？

* 只有你真正學到kernal，並且活用且了解的微積分的beauty，再來談有沒有用

#### Defect testing

* Tests designed to discover system defects // 考試的重點會不會中抓
* A successful defect test is one which reveals the presence of defects in a system // testing 就像警示燈，但是threshold是在安全值

#### Validation testing

* Intended to show that the software meets its its requirement
* 為什麼要分層次？ 這樣我麼才可以知道detail的design 怎麼做組合？
* divide and conquer :很常是，conquer and divide，從solution去divide不同塊

### debugging process

* Bug fixed後，要去check quality是否有maintain，先跳著quality是否有更好
* 透由發布multiple version，來去sense other's non-functional requirement

> 嘗試往外看，不要想太多

* 往外看時，又是一直想時，會使得變數太多
* 想太多的人，會把做與不做都視為沒差

### Ｖ＆Ｖ planning

* Test planning is about **defining standards** for the testing process rather than describing product tests

### 投資

* 除了看你是好是壞之餘，更重要是看你的potential


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yenkang-2.gitbook.io/advanced-software-engineering/week14-note-type-of-testing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
